pyqt5 GUI程序打包

坑!

背景环境:

eric, python 3.5;pyqt5.6

pyqt5 GUI程序打包

解决方案:

第一步

pip install pyinstaller

第二步

pyinstaller -F MainWindow.py

一遍成功,yes!

第三步:测试

但是运行不起来,会闪退,不知道问题在哪里?

通过加入了

os.system("pause")

这行代码,让程序停了一下,通过屏幕录制得到了以下的错误信息:

pyqt5 GUI程序打包_第1张图片

No module name 'sip'

试一下:

pyinstaller -F MainWindow.py --hidden-import sip

还是不行:

在打包的过程中有这样的报错:

pyqt5 GUI程序打包_第2张图片

先不管了

 

有人说:

pyqt5 GUI程序打包_第3张图片

 

遇到了神奇的情况,为什么pycharm大不开我的程序了?

???

myLabel也打不开了

 

执行hello world没问题

 

上边的问题的原因是

from PyQt5.QtWidgets import QMainWindow, QApplication,  QDialog,QFileDialog

这一句话就挂了,可能是PyQt5的包受损了

重装了一下,再试试

pyqt5 GUI程序打包_第4张图片

可以了!

 

在把sip包加上去,然后打包再试一下:

import sip

 

又报错了:

pyqt5 GUI程序打包_第5张图片

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拷贝到

pyqt5 GUI程序打包_第6张图片

 pyqt5 GUI程序打包_第7张图片

 

软件打开了,但是显示不对!

pyqt5 GUI程序打包_第8张图片

 

我终于找到了问题:把软件中需要用的到resource也放到根目录下,就可以直接使用了

 

Yes,问题终于解决了!

成功打包!

pyqt5 GUI程序打包_第9张图片

 

工程师需要的是无比的耐心!问题一定能得到解决,只要找到原因!

 

最后一步给软件换一个好看的图标吧

pyinstaller -F -i D:\PythonProject\NakedSomaTool\resource\eye.ico MainWindow.py

 

你可能感兴趣的:(Python,Pyqt5,Eric6,Python3.5)