总结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微信库:itchat的用法详解
Aug 14 Python
《Python学习手册》学习总结
Jan 17 Python
Python进程间通信Queue实例解析
Jan 25 Python
python解决pandas处理缺失值为空字符串的问题
Apr 08 Python
Python 2.7中文显示与处理方法
Jul 16 Python
Python使用pickle模块报错EOFError Ran out of input的解决方法
Aug 16 Python
django中使用POST方法获取POST数据
Aug 20 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
Jan 25 Python
Python格式化输出--%s,%d,%f的代码解析
Apr 29 Python
Django项目如何正确配置日志(logging)
Apr 29 Python
OpenCV-Python实现油画效果的实例
Jun 08 Python
asyncio异步编程之Task对象详解
Mar 13 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
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
2014/06/21 PHP
php使用parse_url和parse_str解析URL
2015/02/22 PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
2017/05/09 PHP
PHP中define() 与 const定义常量的区别详解
2019/06/25 PHP
php实现简单的守护进程创建、开启与关闭操作
2019/08/13 PHP
JavaScript 不只是脚本
2007/05/30 Javascript
关于取不到由location.href提交而来的上级页面地址的解决办法
2009/07/30 Javascript
JavaScript CSS修改学习第六章 拖拽
2010/02/19 Javascript
验证javascript中Object和Function的关系的三段简单代码
2010/06/27 Javascript
Jquery右下角抖动、浮动 实例代码(兼容ie6、FF)
2013/08/15 Javascript
JS小游戏之仙剑翻牌源码详解
2014/09/25 Javascript
jQuery实现加入购物车飞入动画效果
2015/03/14 Javascript
jquery实现的淡入淡出下拉菜单效果
2015/08/25 Javascript
JavaScript电子时钟倒计时第二款
2016/01/10 Javascript
详解javascript传统方法实现异步校验
2016/01/22 Javascript
使用jQuery处理AJAX请求的基础学习教程
2016/05/10 Javascript
JavaScript注入漏洞的原理及防范(详解)
2016/12/04 Javascript
JavaScript实现百度搜索框效果
2020/03/26 Javascript
在Vue中使用icon 字体图标的方法
2019/06/14 Javascript
vue项目中运用webpack动态配置打包多种环境域名的方法
2019/06/24 Javascript
关于layui 下拉列表的change事件详解
2019/09/20 Javascript
JavaScript实现拖拽盒子效果
2020/02/06 Javascript
python函数局部变量用法实例分析
2015/08/04 Python
selenium在执行phantomjs的API并获取执行结果的方法
2018/12/17 Python
python装饰器练习题及答案
2019/11/01 Python
python如何通过twisted搭建socket服务
2020/02/03 Python
Python如何读写二进制数组数据
2020/08/01 Python
flask开启多线程的具体方法
2020/08/02 Python
CSS3实现自定义Checkbox特效实例代码
2017/04/24 HTML / CSS
广州足迹信息技术有限公司Java软件工程师试题
2014/02/15 面试题
前台文员我鉴定
2014/01/12 职场文书
婚纱店策划方案
2014/05/22 职场文书
保护水资源的标语
2014/06/17 职场文书
教师节感谢信
2015/01/22 职场文书
2015年爱牙日活动总结
2015/02/05 职场文书
2016年学校党支部公开承诺书
2016/03/25 职场文书