总结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语言的面相对象编程方式初步学习
Mar 12 Python
Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法
Jan 11 Python
python中的随机函数random的用法示例
Jan 27 Python
Python实现图片尺寸缩放脚本
Mar 10 Python
Python去除、替换字符串空格的处理方法
Apr 01 Python
Django csrf 两种方法设置form的实例
Feb 03 Python
Python生成一个迭代器的实操方法
Jun 18 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
Jul 14 Python
django迁移文件migrations的实现
Mar 31 Python
python 使用多线程创建一个Buffer缓存器的实现思路
Jul 02 Python
详解Python中list[::-1]的几种用法
Nov 16 Python
python 爬虫爬取京东ps4售卖情况
Dec 18 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中date()日期函数有关参数整理
2011/07/19 PHP
php实现基于微信公众平台开发SDK(demo)扩展的方法
2014/12/22 PHP
php获取服务器操作系统相关信息的方法
2016/10/08 PHP
PHP7基于curl实现的上传图片功能
2018/05/11 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
七种PHP开发环境搭建工具
2020/06/28 PHP
JS中的substring和substr函数的区别说明
2013/05/07 Javascript
JavaScript包装对象使用介绍
2013/08/29 Javascript
jQuery实现按钮只点击一次后就取消点击事件绑定的方法
2015/06/26 Javascript
简单谈谈json跨域
2016/03/13 Javascript
微信小程序 页面之间传参实例详解
2017/01/13 Javascript
vue如何实现observer和watcher源码解析
2017/03/09 Javascript
vue中实现Monaco Editor自定义提示功能
2019/07/05 Javascript
Vue内部渲染视图的方法
2019/09/02 Javascript
jquery实现弹窗(系统提示框)效果
2019/12/10 jQuery
Python去除、替换字符串空格的处理方法
2018/04/01 Python
django的聚合函数和aggregate、annotate方法使用详解
2019/07/23 Python
Python搭建代理IP池实现存储IP的方法
2019/10/27 Python
Blancsom美国/加拿大:服装和生活用品供应商
2018/07/27 全球购物
体验完美剃须:The Art of Shaving
2018/08/06 全球购物
Currentbody美国/加拿大:美容仪专家
2020/03/09 全球购物
机械工程师的岗位职责
2013/11/17 职场文书
销售会计工作职责
2013/12/02 职场文书
室内设计专业个人的自我评价
2013/12/18 职场文书
晚宴邀请函范文
2014/01/15 职场文书
2014社区三八妇女节活动总结
2014/03/01 职场文书
会计工作决心书
2014/03/11 职场文书
《观舞记》教学反思
2014/04/16 职场文书
建筑工程专业大学生求职信
2014/04/23 职场文书
小学生感恩父母演讲稿
2014/08/28 职场文书
慈善捐赠倡议书
2014/08/30 职场文书
2016年大学生社区服务活动总结
2016/04/06 职场文书
最美劳动诗,致敬所有的劳动者!
2019/07/12 职场文书
使用redis生成唯一编号及原理示例详解
2021/09/15 Redis
详解Vue slot插槽
2021/11/20 Vue.js