Python打包教程03:PyInstaller命令使用指南

Python打包教程03:PyInstaller命令使用指南

教你使用Pyinstaller将Python源码打包成可执行程序exe的方法

Python入门教程47:使用virtualenv虚拟环境打包成exe程序

以下是 PyInstaller 命令大全解析,涵盖常用参数、高级配置及使用场景,帮助您快速掌握如何将 Python 脚本打包为独立可执行文件。

一、基本命令格式

1
pyinstaller [选项] 脚本路径.py

二、常用选项解析

1. 打包模式

选项 说明 示例
--onefile 打包成单个可执行文件 pyinstaller --onefile app.py
--onedir 打包成目录结构(默认模式) pyinstaller --onedir app.py
--windowed / -w 隐藏控制台窗口(适合 GUI 程序) pyinstaller -w app.py
--noconsole --windowed(Windows 专用) pyinstaller --noconsole app.py

2. 输出配置

选项 说明 示例
--name / -n 指定生成的可执行文件名称 pyinstaller -n MyApp app.py
--icon 设置应用图标(支持 .ico / .icns pyinstaller --icon=app.ico app.py
--specpath 指定 .spec 文件的生成目录 pyinstaller --specpath=build app.py
--distpath 指定输出目录(默认 dist/ pyinstaller --distpath=output app.py
--workpath 指定临时构建目录(默认 build/ pyinstaller --workpath=temp app.py

3. 依赖管理

选项 说明 示例
--hidden-import 强制包含隐藏的模块 pyinstaller --hidden-import=module_name app.py
--exclude-module 排除指定模块 pyinstaller --exclude-module=unused_module app.py
--add-data 添加外部文件/目录(格式:源路径:目标路径 pyinstaller --add-data="data/*.json:data" app.py
--add-binary 添加二进制文件(同 --add-data,但处理为二进制) pyinstaller --add-binary="lib/*.dll:lib" app.py

4. 高级配置

选项 说明 示例
--clean 清理临时文件并重新构建 pyinstaller --clean app.py
--debug 输出调试信息(显示导入过程) pyinstaller --debug app.py
--upx-dir 指定 UPX 压缩工具的路径 pyinstaller --upx-dir=/path/to/upx app.py
--key 加密 Python 字节码(需安装 tinyaes pyinstaller --key=123456 app.py

三、跨平台专用选项

Windows

选项 说明
--version-file 添加版本信息文件(.rc/.txt
--uac-admin 请求管理员权限运行

macOS

选项 说明
--osx-bundle-identifier 设置 Bundle ID(如 com.company.app
--codesign-identity 代码签名标识(需开发者证书)

Linux

选项 说明
--strip 移除符号表(减小文件体积)
--runtime-tmpdir 设置临时文件目录路径

四、配置文件(.spec):通过 pyi-makespec app.py 生成 .spec 文件,可手动编辑后运行:

1
pyinstaller app.spec

主要配置项:Analysis: 添加依赖、数据文件等。EXE: 配置单文件输出。COLLECT: 配置目录输出。

五、优化与调试技巧

减小体积:使用 –upx-dir 压缩二进制文件。排除不必要的模块(如 –exclude-module=tkinter)。

处理路径问题:在代码中使用 sys._MEIPASS 访问打包后的资源路径

1
import sys, osif getattr(sys, 'frozen', False):    data_dir = os.path.join(sys._MEIPASS, "data")

调试打包失败:检查 build/ 目录下的警告日志,使用 –log-level=DEBUG 查看详细日志。

六、示例命令

  1. 打包 GUI 应用(单文件 + 图标)
1
pyinstaller --onefile --windowed --icon=app.ico app.py
  1. 添加数据文件和控制台
1
pyinstaller --add-data="images/*.png:images" --console app.py

掌握这些命令后,您可以根据项目需求灵活配置 PyInstaller,高效完成 Python 应用的打包工作!遇到问题时可查阅官方文档。

https://pyinstaller.org/en/stable/

完毕!!感谢您的收看

*——★★历史博文集合★**★****—-**-**-*******

Python入门篇 进阶篇 *视频教程* Py安装

py项目 Python模块 Python爬虫 Json

Xpath 正则表达式 Selenium Etree Css

Gui程序开发 *Tkinter* *Pyqt5* 列表元组字典

数据可视化 matplotlib 词云图 Pyecharts

海龟画图 Pandas Bug处理 电脑小知识

*自动化脚本* 编程工具 **NumPy* CSV ******Web*******

****Pygame 图像处理 ********机器学习 ******数据库********************

https://mp.weixin.qq.com/s/Pw1IaJcmuc4QCIlW5EshCw?scene=1