【踩坑记录】pyinstaller打包pyside2成exe

不得不说pyinstaller坑是真的多,去年打包的时候折磨我一整天,最后弄好了但很烦躁,没做记录,今年又折磨我一整天,一定要把坑记录下来

一.打包命令

pyinstaller ChargeDataTools.py --paths D:\python37\Lib\site-packages\shiboken2 --noconsole --hidden-import PySide2.QtXml --icon="icon.ico"
  • 打包日志提示lib not found: shiboken2.abi3.dll之类的都加–paths D:\python37\Lib\site-packages\shiboken2(去年好像就是这个屎不啃折磨的我)
  • 打开exe文件不带dos窗口就加–noconsole
  • –hidden-import PySide2.QtXml这句一定要加,不管代码里导没导入这个库(刚开始以为代码没用这个库就不用加这句)
  • –icon="icon.ico"加图标要去网上把png格式的图片转成ico格式

二.打包要用开发环境打包(pycharm中的venv),或者用其他环境打包要把库安全了才行,不知道没有pywin32或者pypiwin32行不行,反正网上有人说要安装这两个库,那就安一下呗。

三.打包时日志提示UPX is not available

  1. 去官网下载UPX:https://upx.github.io/
  2. 我下的是这个
    在这里插入图片描述
    3.把upx.exe放进打包环境的python/Scripts下
    在这里插入图片描述

四.报错This application failed to start because no Qt platform plugin could be initialized
这个报错困扰了我一整天,其实这个并不是真正的报错信息,当打包命令不加去掉dos窗口的时候你就会看见真正的报错是什么:

qt.qpa.plugin: Could not find the Qt platform plugin "windows" in ""

我在网上查了好久,很多帖子都说得是打包之前执行py文件发生的错误(如果你也是执行py文件那可以上网查,全都是)。然而我是打包之后执行exe发生的
解决方法:将pyside2中的platforms文件夹整个复制到打包后的dist中的exe文件同级就可以了
在这里插入图片描述

在这里插入图片描述
五.打开exe时报错Failed to execute script
原因有很多,我的原因是我用的动态加载ui文件,打包后需要手动把ui文件放进exe同级目录里就好了(还有图标等各种素材也要放进去)

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值