看了两篇博文,写的很好,完美解决了我所遇到的问题
https://blog.csdn.net/u014563989/article/details/80940321
https://blog.csdn.net/lynjan/article/details/81557215
1.总结Pyinstaller的坑及终极解决方法
一. 首先要有个稳定环境
下面是博主经测试的觉得坑比较少的环境搭配
Python3.4 + PyQt5.4 + Pyinstaller3.2.1
Python3.5 + PyQt5.8 + Pyinstaller3.2.1
二. Pyinstaller遇到坑没必要换打包工具
博主好几次用Pyinstaller遇到坑时都有考虑换工具如py2exe或cx-freeze之类的, 依旧无法解决 (最后还是用pyinstaller解决了)
所以没必要换其他工具, pyinstaller就够了
三. 坑1: 打包不了, 连exe都生成不出来
解决方法
直接换Pyinstaller的版本, 即卸掉重装, 推荐用3.2.1
四. 坑2: exe生成了, 但是跑不了
大多数情况都是被坑在这里
解决方法
遇到这种问题不管弹出什么样的错误提示, 在输出exe时参数加个’-d’即debug模式, 然后打开的时候能看到打印的错误信息了, 这招很好用
留意一下程序依赖的一些资源文件, 检查下路径是否正确, 特别是程序里有相对路径的; 还有一些涉及到依赖系统默认资源的如默认字体啥的, 也得留意
换下打包方式, 如onefile模式和onedir模式 (之前出现过onedir打包可以但onefile打包不行的情况)
环境变量PATH中加上PyQt5的plugins的路径
依旧不行则换个Pyinstaller的版本, 即卸掉重装, 推荐用3.2.1
再不行则换操作系统试试, 有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就没事了)
---------------------
作者:烁GG
来源:CSDN
原文:https://blog.csdn.net/u014563989/article/details/80940321
版权声明:本文为博主原创文章,转载请附上博文链接!
一、python安装pyinstaller方法
使用python编写脚本,需要发给别人使用的时候,总会想到如何打包成exe文件,发给对方。这样的话,对方可以直接使用运行,无需安装python。所以看网上的教程,大多使用pyinstaller。以下介绍下安装方法:
1、在cmd控制台下,先升级pip版本,先执行命: pip install -U pip,若执行失败,控制台会提示新密令,按照提示升级即可。
2、升级完pip后,执行命令 : pip install pyinstaller ,只要网速不差,坐等安装成功即可,过程中可能会提示安装其他模块,按照提示安装即可
二、使用pyinstaller命令打包成EXE文件
1、在CMD控制台使用CD进入py文件所在目录:
如:cd C:\Users\zhengchangliang\Desktop\PythonProject\mypyqt
2、生成exe文件(.py文件为pytest.py)
pyinstaller -F pytest.py
这样即完成了打包,但这样打包完成的EXE运行是带控制台的,因我的.py是使用pyqt5设计的UI代码,因此加上-w,使生成的EXE文件不带控制台。若只是简单的控制台程序则不需要以下操作。
pyinstaller -F -w pytest.py
至此已生成exe,打开exe会报一下错误:
问题是,缺少必要的dll文件,我们找到路径:C:\ANACONDA\Lib\site-packages\PyQt5\Qt\plugins(这是我的安装路径),在此文件夹下找到platforms文件夹,然后拷贝整个文件夹,将其放到与exe相同的路径下,这时候就可以运行exe了。如下图:
三、关于pyinstaller的使用可以具体参照以下博客
https://blog.csdn.net/jirryzhang/article/details/78881512
---------------------
作者:lynjan
来源:CSDN
原文:https://blog.csdn.net/lynjan/article/details/81557215
版权声明:本文为博主原创文章,转载请附上博文链接!