总结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实现2048小游戏
Mar 30 Python
python定时执行指定函数的方法
May 27 Python
使用Django Form解决表单数据无法动态刷新的两种方法
Jul 14 Python
使用Python通过win32 COM实现Word文档的写入与保存方法
May 08 Python
python如何提取英语pdf内容并翻译
Mar 03 Python
python框架Django实战商城项目之工程搭建过程图文详解
Mar 09 Python
Python实现捕获异常发生的文件和具体行数
Apr 25 Python
Python+PyQt5实现灭霸响指功能
May 25 Python
Python3内置函数chr和ord实现进制转换
Jun 05 Python
PyChon中关于Jekins的详细安装(推荐)
Dec 28 Python
python中spy++的使用超详细教程
Jan 29 Python
Python pandas之求和运算和非空值个数统计
Aug 07 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 session安全问题分析
2011/06/24 PHP
解析在PHP中使用mysqli扩展库对mysql的操作
2013/07/03 PHP
ThinkPHP跳转页success及error模板实例教程
2014/07/17 PHP
PHP中的命名空间相关概念浅析
2015/01/22 PHP
使用PHP生成二维码的方法汇总
2015/07/22 PHP
不一样的文字闪烁 轮番闪烁
2009/11/11 Javascript
JQuery动态给table添加、删除行 改进版
2011/01/19 Javascript
JQuery-tableDnD 拖拽的基本使用介绍
2013/07/04 Javascript
数据分析软件之FineReport教程:[5]参数界面JS(全)
2015/08/13 Javascript
javascript如何实现暂停功能
2015/11/06 Javascript
js实现iframe框架取值的方法(兼容IE,firefox,chrome等)
2015/11/26 Javascript
原生js实现焦点轮播图效果
2017/01/12 Javascript
Vue.js:使用Vue-Router 2实现路由功能介绍
2017/02/22 Javascript
使用flow来规范javascript的变量类型
2019/09/12 Javascript
js实现提交前对列表数据的增删改查
2020/01/16 Javascript
vue + el-form 实现的多层循环表单验证
2020/11/25 Vue.js
使用jquery实现轮播图效果
2021/01/02 jQuery
Python的Flask框架中web表单的教程
2015/04/20 Python
python验证码识别教程之滑动验证码
2018/06/04 Python
Python  unittest单元测试框架的使用
2018/09/08 Python
python原类、类的创建过程与方法详解
2019/07/19 Python
Python简易版图书管理系统
2019/08/12 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
2020/02/17 Python
Python sorted排序方法如何实现
2020/03/31 Python
django序列化时使用外键的真实值操作
2020/07/15 Python
Python运算符+与+=的方法实例
2021/02/18 Python
M.M.LaFleur官网:美国职业女装品牌
2020/10/27 全球购物
法人任命书范本
2014/06/04 职场文书
关于读书的演讲稿300字
2014/08/27 职场文书
股东合作协议书
2014/09/12 职场文书
教师自我剖析材料范文
2014/09/30 职场文书
收款授权委托书
2014/10/02 职场文书
检讨书1000字
2014/10/11 职场文书
2015年护士节活动策划方案
2015/05/04 职场文书
2015年七夕情人节感言
2015/08/03 职场文书
微信小程序调用python模型
2022/04/21 Python