python3.6+PyQt5+pyinstaller安装过程

目的:给python程序做界面,并生成跨系统的.exe可执行文件

流程:1、编写.py文件;2、GUI做界面;3、打包。

依赖程序库:1、python3.6;2、PyQt5;3、pyinstaller。


安装过程

1、python3.6

略。

2、PyQt5

先装PyQt5,再装PyQt5-tools

PyQt5:https://pypi.org/project/PyQt5/5.8.2/

PyQt5-tools:https://pypi.org/project/pyqt5-tools/5.9.0.1.2/#files

3、pyinstaller

先装pywin32,再装pyinstaller

pip install pywin32

pip install pyinstaller


备注:

1、常用的python GUI框架有Tkinter、PyQt5、Kivy等,各有优劣,可以参考https://zhuanlan.zhihu.com/p/29067608;

2、常用的python打包软件有py2exe、pyinstaller等。



本篇文章主要为了记录下面这个问题,防止下次再遇到

用PyQt5写好界面后,程序运行正常,但是打包后运行exe报错并闪退,问题如下(眼疾手快截的图,会闪退):

报错类型:“Fetal Error: Failed to execute script ***”

python3.6+PyQt5+pyinstaller安装过程_第1张图片

用everything查看PyQt5.sip确实没找到,google了一下,问题是PyQt5与sip版本不一致导致的。sip是在安装PyQt5时自动装上的,安装的PyQt5和sip都是当时最新的,PyQt5版本是5.11.2,sip版本是4.19.8。sip与PyQt版本之间的依赖关系可以参考博文:https://zhuanlan.zhihu.com/p/20281557,大概意思就是sip可以向下兼容PyQt,PyQt不能向下兼容sip,也就是说sip版本可以高于PyQt,反过来就不行。后来,经过尝试,把PyQt5重装为5.8.2版本,问题解决。



你可能感兴趣的:(python相关)