Python使用pyinstaller打包exe
431 字
2 分钟
Python使用pyinstaller打包exe
1、在自己的python环境下安装依赖
pip install pyinstaller
#验证安装pyinstaller --version2、打包命令
pyinstaller -w --onefile --name "Exe_program" --icon "exe.ico" --add-data "exe.ico;." --hidden-import=paramiko --hidden-import=paramiko.ssh_exception --hidden-import=paramiko.ssh_gss --hidden-import=PyQt5.QtWidgets --hidden-import=PyQt5.QtCore --hidden-import=PyQt5.QtGui --hidden-import=concurrent.futures main.py参数解释:
-
**
w**全称-windowed,表示生成 无控制台窗口 的 GUI 程序。适用于 PyQt、Tkinter 等图形界面程序,避免运行时弹出黑色控制台窗口。 -
**
-onefile**生成 单文件可执行程序(所有依赖打包到一个.exe文件中)。优点:分发方便;缺点:启动速度略慢,临时解压会占用一定磁盘空间。 -
**
-name "Exe_program"**指定生成的可执行文件名称(默认是脚本名)。最终会生成Luban_Ai_Box.exe(Windows 系统)。 -
**
-icon "exe.ico"**设置程序的图标文件(.ico格式)。图标会显示在可执行文件、任务栏、窗口标题栏等位置。 -
-add-data "exe.ico;."(如图标、配置文件等)。
- 语法:
源文件路径;目标路径(Windows 用;分隔,Linux/macOS 用:分隔)。 - 这里表示将当前目录的
exe.ico打包,并在程序运行时解压到临时目录的根目录(.表示当前工作目录)。 - 程序中需用
sys._MEIPASS路径访问该文件(单文件模式下的临时解压目录)
- 语法:
-
-hidden-import=paramiko及相关子模块paramiko是用于 SSH 通信的库,其部分子模块(如ssh_exception、ssh_gss)可能因动态导入被 PyInstaller 忽略,需手动指定。 -
-hidden-import=PyQt5.QtWidgets等PyQt5 的部分组件可能因按需导入被遗漏,显式指定确保 GUI 组件能正常打包。 -
**
-hidden-import=concurrent.futures**Python 标准库中用于并发编程的模块,若程序中动态使用了该模块,需手动声明。 -
**
main.py**指定要打包的 主 Python 脚本路径(程序的入口文件)。
根据具体需求更改
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
Python使用pyinstaller打包exe
https://firefly.cuteleaf.cn/posts/obsidian/python使用pyinstaller打包exe/ 相关文章 智能推荐
1
Python中property的使用技巧
开发笔记 property属性 一种用起来像是使用实例属性一样的特殊属性,可以对应于某个方法 既要保护类的封装特性,又要让开发者可以使用 对象.属性 的方式操作方法, @property 装饰器 ,可以直接通过方法名来访问方法,不需要在方法名后添加一对 小括号。 来看下求圆的面积的例子 p
2
Python枚举类状态码应用
开发笔记 2026-06-29
3
Anaconda常用操作
开发笔记 1、升级 2、conda环境使用基本命令 3、conda更新卸载安装包 4、conda安装本地包 5、修改镜像源 6、conda自动开启/关闭激活
4
Python项目打包成Docker镜像
运维部署 1、在项目根路径下编写Dockerfile文件 2、编写需要的docker compose.yaml文件 其它详细参数参考网站:https://zhuanlan.zhihu.com/p/387840381 3、执行docker打包命令生成容器 4、根据需要运行容器即可
5
Linux安装使用Jupyter
运维部署 1、环境准备 安装好Python、pip、conda等环境 2、pip直接安装对应包 3、生成jupyter配置文件 4、进入ipython环境 5、设置jupyter配置文件 6、给文件夹授权 7、启动 设置jupyter进程始终挂载
随机文章 随机推荐