【爬坑】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上下 ...
随机推荐
- Linux 查看目录大小及文件数量命令
查看当前目录大小: [root@21andy.com]# du -sh 查看指定目录大小: [root@21andy.com]# du -sh /www/21andy.com 查看当前目录文件总数: ...
- 第十七篇:IO复用之select实现
前言 在看过前文:初探IO复用后,想必你已对IO复用这个概念有了初步但清晰的认识. 接下来,我要在一个具体的并发客户端中实现它(基于select函数),使得一旦服务器中的客户进程被终止的时候,客户端这 ...
- gradle 两种更新方法
第一种.Android studio更新 第一步:在你所在项目文件夹下:你项目根目录gradlewrappergradle-wrapper.properties 替换 distributionUrl= ...
- React Native(十三)——ios键盘挡住textInput
渐入佳境 用React Native重构的项目也快接近尾声,剩下的就是适配ios的功能了.慢慢地也从中琢磨出了一点门道,于是就遇见了键盘遮挡textInput问题斑斑: 正常页面: android点击 ...
- sqlite3错误码整理
#define SQLITE_OK /* 成功 | Successful result */ /* 错误码开始 */ #define SQLITE_ERROR /* SQL错误 或 丢失数据库 | S ...
- java框架---->quartz的使用(一)
Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制.今天我们就来学习一下它的使用,这里会分篇章对它进行介绍.只是希望能有个人,在我说没事的时候,知道我不 ...
- vue案例 - 使用vue实现自定义多选与单选的答题功能
4月底立得flag,五月底插上小旗,结果拖到六月底七月初才来执行.说什么工作忙都是借口,就是睡的比猪早,起的比猪晚. 本来实现多选单选这个功能,vue组件中在表单方面提供了一个v-model指令,非常 ...
- 【咸鱼教程】Base64
教程目录1 Base64简介2 使用Base643 Demo下载 1 Base64简介百度百科:Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045-RFC2 ...
- Egret中的三种单例写法
1 普通的单例写法 as3中也是这么个写法. 缺点:每个单例类里都要写instance和getInstance. class Single{ private static instance:Singl ...
- Nhibernate学习
Contains 缓存中是否存在SessionFactoryBizCom.GetInstance().GetCurrentSession().Contains(t1) Evict 临时状态(Trans ...