更新于2020年2月17日
关于开发兼容windowsxp系统,并使用pyinstaller 打包的pyqt5软件。
如果有成功在win10系统编译,同时在xp系统上跑的大神,麻烦艾特我教我一下,或者有正在研究的可以找我讨论一下,网上的资料基本上是坑人的,或者抄来抄去的。
目前来看,最好的方案具体操作步骤如下:
在虚拟机中跑一个xp(如果有xp系统的机子当然更好啦)
我用是virtualbox
2.下载python3.4版本(xp系统最高支持到python3.4)
链接就不上了,直接百度搜索python就有一大堆。
安装pywin32
然后点击安装pywin32的安装文件
安装Pyinstaller3.2.1
到下面的连接中下载pyqt5 python3.4 专用版
附上链接,注意检查位数,我用的是32位的。
这里贴上一个5.5.1的版本,亲测可用。
https://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.5.1/
by the way 如果安装失败的话,也可以试试
试试 pip install python-qt5
使用exe文件安装后,pip list 中不显示pyqt5
网上说是python 32位和pyqt5的exe包对不上。
结合本人尝试,使用Pyqt5-5.5.1的版本的对应位数的安装包,安装后别管list,直接打包也可以
打包测试
贴上pyinstaller的简单使用教程
pyinstaller -p C:\Python34\Lib\site-packages\PyQt5 -F -w main.py**
-p 搜索额外的库文件地址
-F 注意大小写,生成的文件是单个exe执行文件
-w 无console窗口
常见错误
from PyQt5 import QtCore, QtGui, QtWidgets
ImportError: cannot import name 'QtCore'
据说别的版本的pyinstaller各种bug,网络上的那些抄来抄去的博客没什么好看的,说有bug但是不说是什么bug,无非就是找不到你的pyqt库的bug。
估计是上一步有问题,可以在cmd里试试
pip uninstall pyinstaller
pip install pyinstaller==3.2.1
所以最好还是下载pyinstaller3.2.1
no model name 'queue'
pyinstaller -F --hidden-import=queue final_exam2.py
pip install openpyxl 失败的解决方法
或者invalid syntax (worksheet.py, line 396)的方法
pip install openpyxl==2.5.14
python no module named smb
无解
python no module named psutil
无解