PyQt4使用Pyinstaller打包问题解决方案

1.环境:

Pycharm 2019.03 专业版
Python 3.7
Pyqt 4.11.2
Pyinstaller 3.5

本来使用的qt5,后来发现在一些低版本的操作系统上使用会出现问题,所以改用了Pyqt4。用起来,效果差不多。

2.问题及解决方法:

大部分问题都是各种包的版本不匹配,这里说一下遇到的问题。

2.1.打包后出现:参数错误,缺少python3.7.dll

原因:在打包的时候,发现控制台报错信息如下:
UPX没有加载
于是手贱就下载了一个upx.exe文件根据下载提示放在了指定的文件目录下面。

解决办法:删掉这个,不需要下载,这个东西是压缩用的,具体的用法,可以网上查一下,这里不详细说明,没用。

2.2.打包成功,出现dos界面快速的闪退,Failed to execute script pyi_rth_qt4plugins

原因:存在版本不匹配或者包缺失问题

解决办法:

(1)在exe目录下,使用dos命令:./xxx.exe 查看缺失参数,如下图:
问题
(2)可以看到缺失了Pyside和sip,然而主要的问题还是failed to execute script pyi_rth_qt4plugins,通过在环境变量里面配置PyQt4的plugins,然后在文件里面引入sip模块,该模块没用到,但是提示没有,我们也下载了,还是导入吧,最终解决。
环境变量
sip

2.3.打包成功,出现闪退,报错NO SUCH FILE OR DIRECTORY

闪退
这是在闪退之前快速截到的内容信息。提示astor这个包里面有问题。

解决办法:调整astor版本,增加相关内容

(1)调整astor版本,astor和打包有关,具体是啥,可以查一下,我使用的是0.7.1.使用0.8.0时报错。
astor
(2)增加astor文件
参考博文:astor问题

2.4.启动后,出现Failed to execute script …exe

解决办法:安装上面的步骤排除。最好在dos命令行下面查看错误信息。

2.5.关于打包方法:

方法很多,如果项目比较小,直接打包成一个exe文件即可;项目比较大的时候,最好还是打包成一个文件,因为大项目打包成一个exe文件启动很慢,影响体验。打包成一个文件夹,这有点像网上下载软件的那种绿色版,无需安装即可使用的那种。
(1)小项目:打包成exe
命令:-w -F --icon=myico.ico F i l e N a m e FileName FileName
-w表示打包的时候去除dos命名框,不会在启动后弹出dos框,注意是小写的w。,-F表示打包成一个exe文件。–icon是设置一个图标,最后接你的包含mian的项目py文件。
(2)大项目:超过100M的项目,最好打包成一个包含依赖包的文件夹目录,里面有个exe文件,双击即可打开。使用时创建一个快捷方式在桌面上就是。这样启动就很快了。
命令:-D -w --icon=myico.ico F i l e N a m e FileName FileName
-D表示创建文件夹,-w是取消启动后弹出dos框。后面和上面一样。

补充:打包常见参数说明:

在这里插入图片描述

总结:

总算把这个打包问题解决了。有些问题中途可能没记住,如果在这些方法里面还有各位博友还有问题,欢迎留言。最后附上需要下载对应版本依赖包的地址:
https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml

点个赞哦!

参考博文:https://www.it610.com/article/1281534448264822784.htm
https://blog.csdn.net/weixin_44697140/article/details/106911389

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值