总结Pyinstaller的坑及终极解决方法(小结)


Posted in Python onSeptember 21, 2020

一. 首先要有个稳定环境

下面是博主经测试的觉得坑比较少的环境搭配

1.Python3.4 + PyQt5.4 + Pyinstaller3.2.1
2.Python3.5 + PyQt5.8 + Pyinstaller3.2.1

二. Pyinstaller遇到坑没必要换打包工具

博主好几次用Pyinstaller遇到坑时都有考虑换工具如py2exe或cx-freeze之类的, 依旧无法解决 (最后还是用pyinstaller解决了)
所以没必要换其他工具, pyinstaller就够了

三. 坑1: 打包不了, 连exe都生成不出来

解决方法
直接换Pyinstaller的版本, 即卸掉重装, 推荐用3.2.1

四. 坑2: exe生成了, 但是跑不了

大多数情况都是被坑在这里

解决方法
1.遇到这种问题不管弹出什么样的错误提示, 在输出exe时参数加个'-d'即debug模式, 然后打开的时候能看到打印的错误信息了, 这招很好用
2.留意一下程序依赖的一些资源文件, 检查下路径是否正确, 特别是程序里有相对路径的; 还有一些涉及到依赖系统默认资源的如默认字体啥的, 也得留意
3.换下打包方式, 如onefile模式和onedir模式 (之前出现过onedir打包可以但onefile打包不行的情况)
4.环境变量PATH中加上PyQt5的plugins的路径
5.依旧不行则换个Pyinstaller的版本, 即卸掉重装, 推荐用3.2.1
6.再不行则换操作系统试试, 有win10跑得了但到了win7就跑不了的情况 (弄个虚拟机测下找下问题在哪)

五. 错误码集锦

main return -1
这种错误基本都是自己的问题, 只能在输出exe时参数加个'-d'即debug模式, 然后再查下打印的错误信息

Failed to execute script pyi_rth_pkgres
可以先换Pyinstaller的版本, 这个错误会消失, 但会弹出其他的错误信息, 然并卵
这种错误基本都是自己的问题, 只能在输出exe时参数加个'-d'即debug模式, 然后再查下打印的错误信息

Failed to execute script xxxx
这种错误基本都是自己的问题, 只能在输出exe时参数加个'-d'即debug模式, 然后再查下打印的错误信息

This application failed to start … Qt platform plugin …
这种错误先配下PyQt5的plugins的环境变量, 如博主的是C:\Python34\Lib\site-packages\PyQt5\plugins
不行再换Pyinstaller的版本 (貌似3.0.0这个版本有问题, 后来换3.2.1就没事了)

到此这篇关于总结Pyinstaller的坑及终极解决方法(小结)的文章就介绍到这了,更多相关Pyinstaller的坑及解决方法内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
使用python提取html文件中的特定数据的实现代码
Mar 24 Python
python使用urllib2模块获取gravatar头像实例
Dec 18 Python
python使用urllib2提交http post请求的方法
May 26 Python
Python处理命令行参数模块optpars用法实例分析
May 31 Python
使用Python处理Excel表格的简单方法
Jun 07 Python
启动Atom并运行python文件的步骤
Nov 09 Python
Python3实现的旋转矩阵图像算法示例
Apr 03 Python
Python 实现数据结构-堆栈和队列的操作方法
Jul 17 Python
画pytorch模型图,以及参数计算的方法
Aug 17 Python
django为Form生成的label标签添加class方式
May 20 Python
pycharm实现print输出保存到txt文件
Jun 01 Python
如何真正的了解python装饰器
Aug 14 Python
python生成xml时规定dtd实例方法
Sep 21 #Python
Python中的特殊方法以及应用详解
Sep 20 #Python
matplotlib 三维图表绘制方法简介
Sep 20 #Python
Python三维绘图之Matplotlib库的使用方法
Sep 20 #Python
scrapy利用selenium爬取豆瓣阅读的全步骤
Sep 20 #Python
Python操作dict时避免出现KeyError的几种解决方法
Sep 20 #Python
python中random.randint和random.randrange的区别详解
Sep 20 #Python
You might like
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
2011/06/02 PHP
php不允许用户提交空表单(php空值判断)
2013/11/12 PHP
PHP多文件上传实例
2015/07/09 PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
2015/10/19 PHP
javascript preload&lazy load
2010/05/13 Javascript
非常棒的10款jQuery 幻灯片插件
2011/06/14 Javascript
iframe窗口高度自适应的实现方法
2014/01/08 Javascript
jQuery经过一段时间自动隐藏指定元素的方法
2015/03/17 Javascript
jquery计算出left和top,让一个div水平垂直居中的简单实例
2016/07/13 Javascript
Ubuntu系统下Angularjs开发环境安装
2016/09/01 Javascript
vue动态生成dom并且自动绑定事件
2017/04/19 Javascript
详解webpack2+node+react+babel实现热加载(hmr)
2017/08/24 Javascript
Angular.js实现获取验证码倒计时60秒按钮的简单方法
2017/10/18 Javascript
Vue实现带进度条的文件拖动上传功能
2018/02/23 Javascript
node 命令方式启动修改端口的方法
2018/05/12 Javascript
详解Webpack多环境代码打包的方法
2018/08/03 Javascript
微信小程序后端实现授权登录
2020/02/24 Javascript
[01:07:19]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第一场 1月19日
2021/03/11 DOTA
Python Web框架Pylons中使用MongoDB的例子
2013/12/03 Python
python解析html开发库pyquery使用方法
2014/02/07 Python
python端口扫描系统实现方法
2014/11/19 Python
Python制作豆瓣图片的爬虫
2017/12/28 Python
可能是最全面的 Python 字符串拼接总结【收藏】
2018/07/09 Python
Python中如何导入类示例详解
2019/04/17 Python
Django Rest framework解析器和渲染器详解
2019/07/25 Python
PyQt5中向单元格添加控件的方法示例
2020/03/24 Python
python 如何引入协程和原理分析
2020/11/30 Python
python中使用np.delete()的实例方法
2021/02/01 Python
经贸日语专业个人求职信范文
2013/12/28 职场文书
金融系应届毕业生求职信
2014/05/26 职场文书
大学生应聘导游自荐信
2014/06/02 职场文书
应届生自荐信
2014/06/30 职场文书
学前班语言教学计划
2015/01/20 职场文书
社会实践活动报告
2015/02/05 职场文书
试用期解除劳动合同通知书
2015/04/16 职场文书
幼儿园安全教育随笔
2015/08/14 职场文书