pyqt5 GUI程序打包
坑!
背景环境:
eric, python 3.5;pyqt5.6
pyqt5 GUI程序打包
解决方案:
第一步
pip install pyinstaller
第二步
pyinstaller -F MainWindow.py
一遍成功,yes!
第三步:测试
但是运行不起来,会闪退,不知道问题在哪里?
通过加入了
os.system("pause")
这行代码,让程序停了一下,通过屏幕录制得到了以下的错误信息:
No module name 'sip'
试一下:
pyinstaller -F MainWindow.py --hidden-import sip
还是不行:
在打包的过程中有这样的报错:
先不管了
有人说:
遇到了神奇的情况,为什么pycharm大不开我的程序了?
???
myLabel也打不开了
执行hello world没问题
上边的问题的原因是
from PyQt5.QtWidgets import QMainWindow, QApplication, QDialog,QFileDialog
这一句话就挂了,可能是PyQt5的包受损了
重装了一下,再试试
可以了!
在把sip包加上去,然后打包再试一下:
import sip
又报错了:
importError: numpy.core.multiarray failed to import
针对这个问题:我试一下:
pip install numpy --upgrade --force
还是不行,报相同的错误;
然后有人说:
https://www.itread01.com/content/1550107631.html
pip install -U setuptools
还是报相同的错误,我推论,应该是numpy的版本太高了?
有人说:添加这个
import numpy.core._methods
import numpy.lib.format
试一试:
还是不行,报相同的错误
有人说:
不行。
我把pip install pypiwin32的问题解决了
还是不行,还是报相同的错误,我准备把numpy的版本降低一下
pip install -U numpy==1.12.0
再打包:
新的错误:
this application failed to start because it could not find or load the Qt platform plugin “windows”
把这个文件夹子platforms拷贝到
软件打开了,但是显示不对!
我终于找到了问题:把软件中需要用的到resource也放到根目录下,就可以直接使用了
Yes,问题终于解决了!
成功打包!
工程师需要的是无比的耐心!问题一定能得到解决,只要找到原因!
最后一步给软件换一个好看的图标吧
pyinstaller -F -i D:\PythonProject\NakedSomaTool\resource\eye.ico MainWindow.py