pyqt打包命令

首先说一下想要把系统图标改成自己的图标,需要把图片转换成后缀为.ico的图标

此时可以使用工具:Greenfish Icon Editor Pro 3.31 我是从新浪科技的网站上下载的,没有乱七八糟的游戏http://down.tech.sina.com.cn/page/45742.html

开始打包
首先输入下面的命令,如果pyinstaller没有下载,请pip install pyinstaller

pyinstaller -F -w -i img.ico main.py

pyinstaller -F -c -i img.ico main.py
(建议先用-c,这样如果打包不成功的话可以看到哪里有错)
-F 指只生成一个exe文件,不生成其他dll文件
-w 不弹出命令行窗口
-i 设定程序图标 ,其后面的ico文件就是程序图标
main.py 就是要打包的程序
-c 生成的exe文件打开方式为控制台打开。
报错1:Maximum recursion depth exceeded
这个参考了https://blog.csdn.net/lucytheslayer/article/details/81030840,说是因为递归遍历超过了限制,(但一般是因为你某一步有错,因为我之后把有错的地方解决了就不用加下述代码了)为了看最后生成的exe哪里有错不能运行,需要执行以下操作,以便继续生成exe文件

解决:

(1)打开生成的xxx.spec文件,把一下代码加进去

import sys
sys.setrecursionlimit(5000)
(2)使用命令行

pyinstaller xxx.spec
完成之后,可以看到dist文件夹下有一个exe文件,双击打开

报错2:Failed to execute script MainPage
如果是用-w打包,最后会弹出一个错误对话框,写着Failed to execute script MainPage,为了弄清楚是为什么错误,需要用-c打包,使用控制台窗口查看

错误1:ModuleNotFoundError: No module named ‘PyQt5.sip’
在这里插入图片描述
https://blog.csdn.net/qq_41185868/article/details/80903095中说是因为pyqt5与sip版本不匹配造成的,需要采用pip更新sip库,

pip install SIP
但是我用这个方法不行!我升级之后SIP版本还是4.19.8,看刚刚那个博客下面的评论,说是把PyQt5版本降为5.10.1版本的就可以,https://pypi.org/project/PyQt5/5.10.1/#files这里可以下载5.10.1版本,下载完成后进入此文件所在的目录使用pip安装,我遇见了一个错误

Could not install packages due to an EnvironmentError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。: ‘c:\program files\anaconda3\lib\site-packages\pyqt5\qt\resources\icudtl.dat’
Consider using the --user option or check the permissions.

这个我重启电脑之后再pip就可以了

降级后pyqt5再打包,就成功了(但是有个不好的地方!我pyqt5降级成这个版本,eric6不能正常启动,eric6会闪退,没办法,我只能打包的时候降级,不打包的时候升级了,我使用5.11.2版本,eric6可以正常打开)

(两个版本都要用……)
错误2:ImportError: Importing the multiarray numpy extension module failed. Mostlikely you are trying to import a failed build of numpy.If you’re working with a numpy git repo, try git clean -xdf (removes allfiles not under version control). Otherwise reinstall numpy.
Original error was: DLL load failed: 找不到指定的程序。
在这里插入图片描述
看了https://blog.csdn.net/bianjun1075/article/details/77803395下的评论,解决方案1是把C:\Users\user\Anaconda3\Library\bin添加到系统变量,方案2去Anaconda目录中找打lib下的site-packages找到这几个numpy相关的包,直接删除,然后command 直接安装pip install numpy ,这两个方案一个不行就试试另外一个吧

错误3:No module named 'pandas._libs.tslibs…

这个错误我不算是解决了吧,因为好像隐藏了一个,又会出现另一个报错,我看了看pandas这个包我也可以先不用,就直接把import pandas删了。这个错误出现的原因就是你打包的时候把文件写进去了,执行的时候又找不到这个文件。

需要解决这个错误的同学可以参考这篇博客https://blog.csdn.net/lj1404536198/article/details/79272450

以下是我遇到的错误,有点晕,直接不引用pandas了。。。
在这里插入图片描述
在这里插入图片描述

### PyQt 应用程序打包教程 PyQt 是一种用于创建图形用户界面 (GUI) 的强大工具集[^2]。为了将基于 PyQt 开发的应用程序分发给最终用户,通常需要将其打包成独立的可执行文件。以下是关于如何使用 `fbs` 工具来完成这一过程的具体说明。 #### 使用 fbs 打包 PyQt 应用程序 `fbs` 是一个专门设计用来简化 PyQt 和 PySide 应用程序打包流程的框架。它能够自动生成项目结构并处理复杂的依赖关系管理。下面是一个典型的例子: ```python from fbs_runtime.application_context.PyQt5 import ApplicationContext from PyQt5.QtWidgets import QMainWindow import sys if __name__ == '__main__': appctxt = ApplicationContext() # 实例化 ApplicationContext window = QMainWindow() window.resize(250, 150) window.setWindowTitle("Example App") # 设置窗口标题 window.show() exit_code = appctxt.app.exec_() # 启动事件循环 sys.exit(exit_code) ``` 上述代码展示了如何通过 `ApplicationContext` 来初始化 PyQt 应用程序[^1]。接下来可以按照以下方式配置和构建应用。 #### 配置与构建步骤 1. **安装必要的库** 确保已安装 `fbs` 及其相关依赖项: ```bash pip install fbs ``` 2. **初始化项目** 运行命令以生成基础目录结构: ```bash fbs startproject ``` 3. **修改源码** 编辑位于 `src/main/python/` 下的入口脚本(如上所示),实现所需功能。 4. **测试运行环境** 在开发环境中验证应用程序是否正常工作: ```bash fbs run ``` 5. **冻结应用程序** 构建独立版本供部署使用: ```bash fbs freeze ``` 6. **生成安装程序(可选)** 如果希望进一步提供易于使用的安装体验,则可以通过如下指令制作安装包: ```bash fbs installer ``` 以上方法适用于大多数场景下的 PyQt 应用发布需求。对于更复杂的需求,比如集成多媒体支持或者特定硬件交互等功能模块时,可能还需要额外调整设置或引入第三方扩展库[^3]。 #### 注意事项 - 当前示例仅展示了一个简单的 GUI 结构;实际开发过程中应考虑异常捕获、资源加载等因素。 - 不同操作系统间可能存在兼容性差异,请务必针对目标平台分别测试成品表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值