pyinstaller打包pyqt5程序 全过程 超详细

3 篇文章 1 订阅
1 篇文章 0 订阅

用pyqt5写了个脚本,功能是在一大堆文件中搜索关键词,并定位。界面如下:
在这里插入图片描述
走过了多线程、组合复选框、win32com的各种神奇API,终于成功完美运行了。
然后,开始打包。
环境Annaconda+python3.6,pyqt5,pyinstaller

问题一:打包直接报错

打包命令(前面的路径C:\Users\xdd\Desktop\we_search是主函数文件所在的位置,之后打包的文件也在这个路径下,如果想要在别的地方放打包文件就cd到对应位置,pyinstaller后面加完整路径就好了。

C:\Users\xdd\Desktop\we_search>pyinstaller we_search_3.0.py

报错:C:\qt5b\qt_1524647842210_h_env\Library\plugins缺少文件在这里插入图片描述
很纳闷,不知道是哪里来的文件夹,于是按照错误提示新建了空文件夹在这里插入图片描述

ok,成功 build completed successfully.

问题二:双击exe文件闪退

打包成功后生成build和dist两个文件夹,dist里面有一个文件夹,在里面有exe文件,双击后闪退。
一头雾水。于是用cmd打开这个exe,如图
在这里插入图片描述
豁然开朗,没有ui文件,因为程序的界面不是纯代码的,有用 qt designer设计一部分,要加载ui文件。而pyinstaller打包是不会自动打进去的,这点很重要,包括图片啊,文本啊这些都要自己手动复制进文件夹。

问题三:还是打不开

在这里插入图片描述

not find Qt platform plugin “windows”

大概缺少windows平台的配置文件吧。
于是找啊找,终于在D:\anaconda\Library\plugins\platforms路径下找到了这个platforms文件夹如果是纯python,应该在python36\Lib\site-packages\PyQt5\plugins下面,老规矩拷贝到打包后的文件夹下。于是成了这样。在这里插入图片描述
双击exe,期待的画面出现了,成功运行,舒服。不对!我的图标呢
在这里插入图片描述

问题四:图标显示不出来

我:明明在开发环境下好好的能显示的图标去哪儿了呢?
吃瓜群众:哈哈,简单,你肯定没把图标放进文件夹。
我:
在这里插入图片描述
在这里插入图片描述
好吧,又是一个依赖文件D:\anaconda\Library\plugins\imageformats用于图像显示的(纯python依然在python36\Lib\site-packages\PyQt5\plugins),copy过来,于是成了这样
在这里插入图片描述
运行,成功!!!

在这里插入图片描述

程序自定义图标,骚一下?

试试打包命令后加一个-i 图标.ico

主界面后面有个控制台,强迫症?

那就再加个--noconsole

在这里插入图片描述

  • 33
    点赞
  • 96
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
PyInstaller是一个用于打包Python文件的库,可以将Python脚本转换成可执行文件。对于使用PyQt5编写的脚本进行打包,首先需要确保已经安装了PyInstallerPyQt5。然后,可以按照以下步骤进行打包: 1. 打开终端或命令提示符窗口,并切换到包含主函数文件的目录。 2. 运行以下命令:`pyinstaller your_script.py`,其中"your_script.py"是你要打包的脚本的文件名。 3. PyInstaller将开始分析脚本并创建.spec文件,该文件将包含有关打包过程的配置信息。 4. 在.spec文件中,你可以对打包过程进行更多的自定义配置。可以使用文本编辑器打开.spec文件并进行修改。 5. 对于PyQt5脚本,通常需要添加额外的参数来解决特定的问题。例如,如果脚本中使用了Qt的平台插件(例如QtWebEngine),可能需要使用`--add-data`参数来包含这些插件。具体的参数配置可以参考PyInstaller的文档。 6. 修改完.spec文件后,运行以下命令:`pyinstaller your_script.spec`,其中"your_script.spec"是你修改后的.spec文件的文件名。 7. PyInstaller将开始根据.spec文件进行打包。在打包完成后,你将在当前目录中看到一个名为"dist"的文件夹,里面包含了打包后的可执行文件。 需要注意的是,PyInstaller打包过程可能因为项目的复杂性而有所不同。建议在打包前仔细阅读PyInstaller的文档,并根据你的具体需求进行适当的配置和调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [pyinstaller打包pyqt5项目总结](https://blog.csdn.net/Sheleon1995/article/details/125041861)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [pyinstaller打包pyqt5程序 全过程 详细](https://blog.csdn.net/okfu_DL/article/details/84566545)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值