pyinstaller打包后运行exe 报错:failed to execute script

环境:win7、pycharm2019.3.3 x64、Python3.8.1

注意:下文中的***代表你的主入口文件的名字

问题描述:在项目根目录下通过 pyinstaller -F -w ***.py 命令打包后,在dist目录下生成了***.exe文件,运行 ***.exe 文件后弹窗提示 【failed to execute>


pyinstaller打包后运行exe 报错:failed to execute/>  <div class=


解决步骤:

1.更改 pyinstaller -F -w ***.py 打包命令 为:pyinstaller -D ***.py 执行命令,在dist目录下生成相应的目录文件,在目录下找到 ***.exe,通过cmd方式在此目录下运行 ***.exe,显示了报错信息,比如:ModuleNotFoundError: No module named 'PyQt5',这是由于没有把这个包打进来造成的

2.在dist的同级目录找到build目录,找到warn***.txt文件,里面会记录一些错误,如下图:


pyinstaller打包后运行exe 报错:failed to execute/>  <div class=

这里可以看到,PyQt5的库没有找到

分析:正常来说,如果pyinstaller是pip3安装好的,那么PyQt5应该也在同一个目录下,应该不会出现找不到路径的情况.所以说,有两种情况,一种是pyinstaller的问题,一种是PyQt5问题

3.接下来我先使用--path 指定库目录,有一点需要注意:这里用的是/作为目录分隔符,而不是\\

改变后的命令:pyinstaller.exe --path D:/Python/Lib/site-packages/PyQt5/Qt/bin -Fw .\\***.py 重新打包之后,再次运行,报同样的错误,看build目录下的warn***.txt文件,还是同样的,没有找到PyQt5的库

4.接下来我再指定本地库的pyinstaller,重新执行 :D:\\Python\\Scripts\\pyinstaller -D ***.py 命令,再依据第2步操作,看一下warn***.txt文件,如下图:


pyinstaller打包后运行exe 报错:failed to execute/>  <div class=

发现PyQt5已经成功导入了,说明之前的判断是正确的,如果还有类似的其他报错信息,按照此方式反复去调整

5.最后调用 D:\\Python\\Scripts\\pyinstaller -Fw ***.py 命令成功打成一个exe的包



分享到:

閱讀更多 萬里之行積於跬步 的文章

關鍵字: 根目录 报错 Qt


相關文章: