总结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爬虫之打包生成exe文件
Nov 06 Python
Python语言生成水仙花数代码示例
Dec 18 Python
Python中的探索性数据分析(功能式)
Dec 22 Python
Django中的Model操作表的实现
Jul 24 Python
python 实现提取某个索引中某个时间段的数据方法
Feb 01 Python
Django模型序列化返回自然主键值示例代码
Jun 12 Python
python获取磁盘号下盘符步骤详解
Jun 19 Python
python聚类算法解决方案(rest接口/mpp数据库/json数据/下载图片及数据)
Aug 28 Python
如何基于python实现脚本加密
Dec 28 Python
python中实现词云图的示例
Dec 19 Python
如何利用python和DOS获取wifi密码
Mar 31 Python
Python爬虫基础之初次使用scrapy爬虫实例
Jun 26 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加速 eAccelerator配置和使用指南
2009/06/05 PHP
Ping服务的php实现方法,让网站快速被收录
2012/02/04 PHP
php读取csv实现csv文件下载功能
2013/12/18 PHP
Drupal7中常用的数据库操作实例
2014/03/02 PHP
PHP实现利用MySQL保存session的方法
2014/08/23 PHP
php缩放gif和png图透明背景变成黑色的解决方法
2014/10/14 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
js删除所有的cookie的代码
2010/11/25 Javascript
javascript权威指南 学习笔记之变量作用域分享
2011/09/28 Javascript
JavaScript中消除闭包的一般方法介绍
2015/03/16 Javascript
JavaScript弹出新窗口后向父窗口输出内容的方法
2015/04/06 Javascript
使用AngularJS创建单页应用的编程指引
2015/06/19 Javascript
JS实现选项卡实例详解
2015/11/17 Javascript
jQuery实现获取绑定自定义事件元素的方法
2015/12/02 Javascript
浅谈EasyUi ComBotree树修改 父节点选择的问题
2016/11/07 Javascript
深入理解Javascript中的valueOf与toString
2017/01/04 Javascript
简单的网页广告特效实例
2017/08/19 Javascript
JS实现json对象数组按对象属性排序操作示例
2018/05/18 Javascript
Vue路由钩子之afterEach beforeEach的区别详解
2018/07/15 Javascript
angularJs利用$scope处理升降序的方法
2018/10/08 Javascript
ES6中异步对象Promise用法详解
2019/07/31 Javascript
Quasar Input:type="number" 去掉上下小箭头 实现加减按钮样式功能
2020/04/09 Javascript
python实现发送邮件功能代码
2017/12/14 Python
Django基于ORM操作数据库的方法详解
2018/03/27 Python
通过Python 接口使用OpenCV的方法
2018/04/02 Python
python实现决策树ID3算法的示例代码
2018/05/30 Python
python修改txt文件中的某一项方法
2018/12/29 Python
自学python的建议和周期预算
2019/01/30 Python
Python eval的常见错误封装及利用原理详解
2019/03/26 Python
通过python检测字符串的字母
2020/02/18 Python
火车来了教学反思
2014/02/11 职场文书
公司委托书格式范文
2014/04/04 职场文书
2014年移动公司工作总结
2014/12/08 职场文书
初中差生评语
2014/12/29 职场文书
班主任工作实习计划
2015/01/16 职场文书
2015年科室工作总结
2015/04/10 职场文书