PYQT5(十)解决win10向下兼容xp的问题
2018-10-04 本文已影响457人
弗兰克万岁
这篇简书主要是用作记录pyqt开发时打包exe文件兼容性问题,开篇是一些开发中碰到的比较棘手的问题。
1.关于开发兼容windowsxp系统,并使用pyinstaller 打包的pyqt5软件。
pyqt5对xp系统支持很垃圾,很垃圾,很垃圾。(重要的事情说三次)。
如果有成功在win10系统编译,同时在xp系统上跑的大神,麻烦艾特我教我一下,或者有正在研究的可以找我讨论一下,网上的资料基本上是坑人的,或者抄来抄去的。
目前来看,最好的方案具体操作步骤如下:
1.第一步在虚拟机中跑一个xp(如果有xp系统的机子当然更好啦)
2.下载python3.4版本(xp系统最高支持到python3.4)
链接就不上了,直接百度搜索python就有一大堆。
3.到下面的连接中下载pyqt5 python3.4 专用版
附上链接
其中要注意:安装pyqt5.4.1版本后,本人在运行python文件有发现如下错误
from PyQt5 import QtCore, QtGui, QtWidgets
ImportError: cannot import name 'QtCore'
最后,经本人测试,
pyqt5.4以及以下版本才可以正常运行。在这之上的版本可能都不兼容了或者别的问题。
4.打包测试
一般来说命令行运行
pip install pyinstaller
就可以了
如果要下载老版本的pyinstaller 比如 3.2.1 要手动编译pywin32, 链接如下:
pywin32
然后点击安装pywin32的安装文件,之后到命令行中执行如下语句
imagepyinstaller -p C:\Python34\Lib\site-packages\PyQt5 -F -w main.py
-p 搜索额外的库文件地址
-F 注意大小写,生成的文件是单个exe执行文件
-w 无console窗口
据说别的版本的pyinstaller各种bug,网络上的那些抄来抄去的博客没什么好看的,说有bug但是不说是什么bug,无非就是找不到你的pyqt库的bug。
所以最好还是下载pyinstaller3.2.1
image灵魂画师:(这是在xp的虚拟机中运行的效果图)
image>这是在win10的宿主机里运行的效果图