总结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获取apk文件URL地址实例
Nov 01 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
Dec 27 Python
Python爬虫:通过关键字爬取百度图片
Feb 17 Python
Python中shape计算矩阵的方法示例
Apr 21 Python
Pycharm学习教程(2) 代码风格
May 02 Python
python如何爬取个性签名
Jun 19 Python
python 划分数据集为训练集和测试集的方法
Dec 11 Python
pyqt5实现登录界面的模板
May 30 Python
python 求1-100之间的奇数或者偶数之和的实例
Jun 11 Python
Flask配置Cors跨域的实现
Jul 12 Python
基于PyTorch实现一个简单的CNN图像分类器
May 29 Python
Python初识逻辑与if语句及用法大全
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传值赋值和传地址赋值用法实例分析
2015/06/20 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
2017/05/20 PHP
TFDN图片播放器 不错自动播放
2006/10/03 Javascript
一个可拖拽列宽表格实例演示
2012/11/26 Javascript
JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
2013/12/06 Javascript
JavaScript中的时间处理小结
2016/02/24 Javascript
localStorage实现便签小程序
2016/11/28 Javascript
Vue.js学习示例分享
2017/02/05 Javascript
js案例之鼠标跟随jquery版(实例讲解)
2017/07/21 jQuery
node跨域转发 express+http-proxy-middleware的使用
2018/05/31 Javascript
taro开发微信小程序的实践
2019/05/21 Javascript
微信小程序用户授权、位置授权及获取微信绑定手机号
2019/07/18 Javascript
jQuery实现消息弹出框效果
2019/12/10 jQuery
javascript设计模式 ? 工厂模式原理与应用实例分析
2020/04/09 Javascript
[38:21]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS Newbee
2018/03/31 DOTA
python实现360皮肤按钮控件示例
2014/02/21 Python
详解python时间模块中的datetime模块
2016/01/13 Python
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
2017/07/06 Python
python实现人工智能Ai抠图功能
2019/09/05 Python
keras导入weights方式
2020/06/12 Python
CSS3毛玻璃效果(blur)有白边问题的解决方法
2016/11/15 HTML / CSS
马来西亚在线健康商店:Medipal Malaysia
2020/04/13 全球购物
什么是SCM(软件配置管理)
2014/08/16 面试题
仓库保管员岗位职责
2013/12/20 职场文书
计算机专业毕业生自荐信
2013/12/31 职场文书
寄语是什么意思
2014/04/10 职场文书
经济类毕业生求职信
2014/06/26 职场文书
查摆问题整改措施
2014/10/24 职场文书
邀请书模板
2015/02/02 职场文书
财务人员个人工作总结
2015/02/27 职场文书
2015年社区环境卫生工作总结
2015/04/21 职场文书
毕业欢送晚会主持词
2019/06/25 职场文书
二年级作文之动物作文
2019/11/13 职场文书
HTML+CSS制作心跳特效的实现
2021/05/26 HTML / CSS
用JS创建一个录屏功能
2021/11/11 Javascript
如何通过cmd 连接阿里云服务器
2022/04/18 Servers