Python打包教程03:PyInstaller命令使用指南
Python打包教程03:PyInstaller命令使用指南
ZhangCurryPython打包教程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 查看详细日志。
六、示例命令
- 打包 GUI 应用(单文件 + 图标)
1 | pyinstaller --onefile --windowed --icon=app.ico app.py |
- 添加数据文件和控制台
1 | pyinstaller --add-data="images/*.png:images" --console app.py |
掌握这些命令后,您可以根据项目需求灵活配置 PyInstaller,高效完成 Python 应用的打包工作!遇到问题时可查阅官方文档。
https://pyinstaller.org/en/stable/
完毕!!感谢您的收看
*——★★历史博文集合★**★****—-**-**-*******
Xpath 正则表达式 Selenium Etree Css
Gui程序开发 *Tkinter* *Pyqt5* 列表元组字典
数据可视化 matplotlib 词云图 Pyecharts
*自动化脚本* 编程工具 **NumPy* CSV ******Web*******
****Pygame 图像处理 ********机器学习 ******数据库********************



