使用Pyqt5编写了一段GUI,在pycharm中可以正常运行出现GUI界面,但是使用pyinstaller命令打包后出现错误;
使用的pyinstaller命令如下:
pyinstaller -F -w xxxx.py
执行生成的文件,报错如下:
"This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem"
网上找了很多方法均无法解决,按照提示重装PyQT5,PyQt-tools 后,这个错误解决了.....
将原来生成的build目录、dist 及.spec后缀文件删除后重新执行,又出现了如下错误:
“Failed to execute script XXXXXXX”
使用如下方式可以查看具体报错原因:
pyinstaller -D xxxx.py
在build中的文件夹中会生成新的xxxx.exe文件。拖动到cmd命令行运行,会出现错误提示。按照错误发送缺少sip,故按照提示进行解决
解决办法是在该py源代码中加入如下内容:
import PyQt5.sip
重新删除目录并用pyinstaller执行。结果正常了~~~
打包另一个pyqt文件时,又报错了,
还是“Failed to execute script XXXXXXX”
按照报错二中的方式查找失败原因,提示如下:
Error loading Python DLL 'D:\PYQT5\Weather\build\WeatherWin\python36.dll'.
LoadLibrary: 找不到指定的模块。
根据提示,缺少python36.dll,因为使用的是Anaconda中的python3.6.0环境,发现一个坑爹的安装问题:通过Anaconda 安装的Python缺少了python3.dll,需要从python.org下载地址中安装相应版本,并将python3.dll复制到Anaconda中的安装目录下(一般是第一级目录);
重新运行pyinstaller 命令,可以正常打开exe执行文件啦