总结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使用在线API查询IP对应的地理位置信息实例
Jun 01 Python
Python中的多重装饰器
Apr 11 Python
Python3实现从指定路径查找文件的方法
May 22 Python
python编码总结(编码类型、格式、转码)
Jul 01 Python
Python随机读取文件实现实例
May 25 Python
python mac下安装虚拟环境的图文教程
Apr 12 Python
python 爬虫百度地图的信息界面的实现方法
Oct 27 Python
python3实现单目标粒子群算法
Nov 14 Python
python3的UnicodeDecodeError解决方法
Dec 20 Python
Python descriptor(描述符)的实现
Nov 15 Python
如何在Python中创建二叉树
Mar 30 Python
python中 Flask Web 表单的使用方法
May 20 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 $_SERVER["REQUEST_URI"]获取值的通用解决方法
2010/06/21 PHP
PHP 年龄计算函数(精确到天)
2012/06/07 PHP
php随机取mysql记录方法小结
2014/12/27 PHP
jQuery 使用手册(五)
2009/09/23 Javascript
js过滤数组重复元素的方法
2010/09/05 Javascript
Javascript面向对象设计一 工厂模式
2011/12/20 Javascript
js获得鼠标的坐标值的方法
2013/03/13 Javascript
Javascript中的Array数组对象详谈
2014/03/03 Javascript
JavaScript中的正则表达式简明总结
2014/04/04 Javascript
jQuery中:empty选择器用法实例
2014/12/30 Javascript
js严格模式总结(分享)
2016/08/22 Javascript
html中鼠标滚轮事件onmousewheel的处理方法
2016/11/11 Javascript
关于vuex的学习实践笔记
2017/04/05 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
2018/04/04 Javascript
javascript显示动态时间的方法汇总
2018/07/06 Javascript
vue请求本地自己编写的json文件的方法
2019/04/25 Javascript
微信小程序实现打开并下载服务器上面的pdf文件到手机
2019/09/20 Javascript
基于canvasJS在PHP中制作动态图表
2020/05/30 Javascript
python通过scapy获取局域网所有主机mac地址示例
2014/05/04 Python
python中常用的各种数据库操作模块和连接实例
2014/05/29 Python
python通过urllib2获取带有中文参数url内容的方法
2015/03/13 Python
Python函数可变参数定义及其参数传递方式实例详解
2015/05/25 Python
python简单商城购物车实例代码
2018/03/15 Python
PyCharm安装第三方库如Requests的图文教程
2018/05/18 Python
python+selenium 定位到元素,无法点击的解决方法
2019/01/30 Python
Python FFT合成波形的实例
2019/12/04 Python
Django Serializer HiddenField隐藏字段实例
2020/03/31 Python
简单掌握CSS3将文字描边及填充文字颜色的方法
2016/03/07 HTML / CSS
html5 css3 动态气泡按钮实例演示
2012/12/02 HTML / CSS
HTML5 在canvas中绘制矩形附效果图
2014/06/23 HTML / CSS
最新党员的自我评价分享
2013/11/04 职场文书
大学自主招生自荐信
2013/12/16 职场文书
自我鉴定总结
2014/03/24 职场文书
2015年计划生育责任书
2015/05/08 职场文书
新学期开学标语2015
2015/07/16 职场文书
2016高校自主招生自荐信范文
2016/01/28 职场文书