【爬坑】python3+pyqt5+pyinstaller 打包成exe的各种问题
windows系统+python3+pyqt5+pyinstaller打包,经常会出现各种打包异常情况。
如果代码没有特别异常,那么综合原因,大抵都是这四个元素之间的匹配问题,引起的。
作者:一心狮
链接:https://www.imooc.com/article/74152#
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作
1.windows系统的版本和位数 (mac系统和linux 没有进行测试过)
2.python3的版本和位数
3.pyqt5的版本和位数 (如果pip安装,则位数同python3)
4.pyinstaller的版本和位数(一般pip安装,无需考虑位数)
####坑1.pyinstaller打成的包,可以在64位操作系统使用,无法在32位操作系统使用
坑的成因:
python存在64位版本和32位版本。
64位版本打成的包,只能在64位操作系统使用。
32位版本打成的包,即可以在64位操作系统使用,也可以在32位操作系统使用。 解决方案:
重新安装32位版本的python,进行开发。
####坑2.pyinstaller打成的包,可以在win7以上操作系统使用,无法在xp操作系统使用
坑的成因:
python3 从3.5版本开始,就已经不支持xp操作系统了。 解决方案:
重新安装3.4版本的python,进行开发。
####坑3.pyqt5应用,开发运行时是正常,但pyinstaller打成的包,界面失真变丑。
坑的成因:
pyinstaller 不支持最新版本的pyqt5。 解决方案:
重新安装低版本的pyqt5,进行开发。(当前推荐:5.8.2版本)
命令
pip uninstall pyqt5
pip install pyqt5==5.8.2
####坑4.pyqt5应用,开发运行时是正常,但pyinstaller打成的包,无法运行,提示failed to execute script xxx。
坑的成因:(同坑3)
pyinstaller 不支持最新版本的pyqt5。 解决方案:(同坑3)
重新安装低版本的pyqt5,进行开发。(当前推荐:5.8.2版本)
命令
pip uninstall pyqt5
pip install pyqt5==5.8.2
####坑5.pyqt5应用,开发运行时是正常,但pyinstaller无法打包成功。
坑的成因:(同坑3)
pyinstaller 不支持最新版本的pyqt5。 解决方案:(同坑3)
重新安装低版本的pyqt5,进行开发。(当前推荐:5.8.2版本)
命令
pip uninstall pyqt5
pip install pyqt5==5.8.2
####坑6.pip install pyqt5,安装不了pyqt5,提示找不到资源。
坑的成因:
你的python3可能是最新版本,pyqt5-tools还不支持最新版本的python3 解决方案:
重新安装低版本的python3,进行开发。(当前推荐:3.6.6版本)
####坑7.pip install pyqt5-tools,安装不了pyqt5-tools,提示找不到资源。
坑的成因:
你的python3可能是最新版本,pyqt5-tools还不支持最新版本的python3 解决方案:
重新安装低版本的python3,进行开发。(当前推荐:3.6.6版本)
####坑8.pip install pyqtchart,但是安装不了pyqtchart。
坑的成因:
pyqtchart对pyqt5的版本有依赖需求。 解决方案:
针对pyqt5的版本进行安装。
命令如: pip install pyqtchart==5.8
####坑9.pip install pyqtdatavisualization,但是安装不了pyqtdatavisualization。
坑的成因: (同坑8)
pyqtdatavisualization对pyqt5的版本有依赖需求。 解决方案:(同坑8)
针对pyqt5的版本进行安装。
命令如: pip install pyqtdatavisualization==5.8
####坑10.python3的orm技术,使用sqlalchemy模块,开发运行时都是正常的,但pyinstaller打成的包,数据库执行异常。
坑的成因:
pyinstaller打成的包,在执行连表后的对象属性读取时,失败。 解决方案:
找不到好的解决方法,只能换回sql语言来完成。(如有好的解决方法,敬请留言告知)
【爬坑】python3+pyqt5+pyinstaller 打包成exe的各种问题的更多相关文章
- 用tkinter写出you-get下载器界面,并用pyinstaller打包成exe文件
本文为原创文章,转载请标明出处 一.you-get介绍 you-get是一个基于 python 3 的下载工具,使用 you-get 可以很轻松的下载到网络上的视频.图片及音乐.目前支持网易云音乐.A ...
- 将python3.1+pyqt4打包成exe
将python打包成exe的程序有很多,比如py2exe.PyInstaller等等,但是到目前为止,它们对python3.1支持的都不好,所以这里我要介绍一下cx_freeze 4.2.2,它还能支 ...
- 解决python3使用cx_Freeze打包成exe后不能运行
我使用的是python3.4,在使用cx_Freeze打包成exe后发现有些打包后程序能够运行,但是有些无法运行 这是控制台报错 经过多方查找发现原来是windows缺少一些python的扩展包 如下 ...
- [Python][小知识][NO.5] 使用 Pyinstaller 打包成.exe文件
1.安装 pyinstaller 插件 cmd命令:pip install PyInstaller PS . o.o 不知道 easy_install 的百度吧. 2.pyinstaller 简介 他 ...
- Pycharm+Python3+python工程打包成exe+在windows下自动定时运行
python3打包成exe---pyinstaller方法:https://www.cnblogs.com/mufenglin/p/7479281.html 按照如上方式打包后,执行dist文件夹(新 ...
- PyInstaller打包成exe可执行文件
PyInstaller 安装pyinstaller 对于那些网络比较稳定,能够流畅使用pip源地址的用户,直接下面的命令就可以搞定: pip install pyinstaller 通常我们会下载源码 ...
- python用pyinstaller打包成exe文件
版本为Python2.7 一.安装Pyinstaller 1.安装pywin32 下载安装文件:查找到跟自己适用的python版本及window系统版本匹配的pywin32,下载后安装 使用pip命 ...
- 最干净的pyinstaller打包成exe应用程序方法
在anaconda环境下进行pyinstaller打包后,程序非常大,70行代码打包后有280MB,这是因为会将conda环境携带的库都打包进去导致的.为了获得更纯净的包环境,我们需要安装纯pytho ...
- python3带tkinter窗口的ftp服务器,并使用pyinstaller打包成exe
python带tkinter窗口的ftp服务器,使用python3编写,打包使用pyinstaller,命令 pyinstaller -F .\ftpserver.py 代码也可在我的github上下 ...
随机推荐
- MongoDB(三)-- 执行JS、界面工具
一.执行Js脚本 1.开启mongod服务 2.连接mongodb客户端,./mongo --host 192.168.80.128 --port 27017 3.创建数据库:use testdb1 ...
- C数组&结构体&联合体快速初始化
背景 C89标准规定初始化语句的元素以固定顺序出现,该顺序即待初始化数组或结构体元素的定义顺序. C99标准新增指定初始化(Designated Initializer),即可按照任意顺序对数组某些元 ...
- C++ 操作符new和delete
参考资料: http://en.cppreference.com/w/cpp/memory/new/operator_new http://en.cppreference.com/w/cpp/memo ...
- Java toString()方法的自动调用
如果某一个对象出现在字符串表达式中(涉及“+”字符串对象的表达式),toString()方法就会被自动调动.
- SpringMVC温故知新
1. SpringMVC流程简记 (1) 用户发送请求至前端控制器DispatcherServlet (2) DispatcherServlet收到请求调用HandlerMapping处理器映射器 ( ...
- 查看docker容器的IP地址
|awk '{print $2}' |tr '"' " " |tr ',' ' ' # 可以用容器id或名称 方法二: docker inspect --fo ...
- Android按钮事件的4种写法
经过前两篇blog的铺垫,我们今天热身一下,做个简单的例子. 目录结构还是引用上篇blog的截图. 具体实现代码: public class MainActivity extends Activity ...
- 添加Net4CollectionTypeFactory的原因
.NET4.0已经实现了该功能 http://jahav.com/blog/nhibernate-using-net-4-iset/ NHibernate using .NET 4 ISet 0 Co ...
- Unity3D笔记 英保通五 鼠标事件与GUI系统双击检测
一.如何使用GUI事件来检测鼠标是否按下的事件: 获取当前事件:var e:Event=Event.current: using UnityEngine; using System.Collectio ...
- codeforces 355C - Vasya and Robot
因为在允许的情况下,必然是左右手交替进行,这样不会增加多余的无谓的能量. 然后根据不同的分界点,肯定会产生左手或右手重复使用的情况,这是就要加上Qr/Ql * 次数. 一开始的想法,很直接,枚举每个分 ...