用户可轻松将 Python 脚本打包为可执行文件。该工具提供图形化中文界面,支持单文件/目录打包、窗口/控制台模式,具备自动依赖检测、实时日志输出、附加文件管理及高级设置功能,简化 Python 应用打包流程。【此简介由AI生成】
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 5 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 5 个月前 |
PyInstaller GUI - Python打包器
一个基于PyQt5开发的图形化PyInstaller工具,帮助用户轻松打包Python应用程序。
功能特点
🎯 核心功能
- 图形化操作界面:友好的中文界面,无需命令行操作
- 双打包模式:支持单文件(-F)和目录(-D)两种打包方式
- 窗口/控制台模式:可选择窗口模式(-w)或控制台模式
- 自动依赖检测:自动检测Python脚本的依赖并安装
- 实时日志输出:彩色日志,实时显示打包过程
📦 依赖管理
- 支持拖放安装WHL包
- 导入requirements.txt文件
- 自动安装PIP包
- 自动生成依赖文件
📁 文件管理
- 添加附加文件和目录
- 支持批量操作
- 可视化文件列表
📚 附加库管理
- 手动添加附加库
- 从文件导入库列表
- 解决PyInstaller无法自动检测的依赖问题
⚙️ 高级设置
- 调试输出选项
- 代码优化级别设置
- UPX压缩选项
- 隐藏导入模块配置
- 排除模块设置
- 工作目录配置
- 自定义附加参数
🎨 界面设计
- 现代化卡片式布局
- 响应式设计,支持窗口缩放
- 支持深色/浅色模式切换
- 直观的标签页分类
安装要求
- Python 3.6+
- PyQt5
- PyInstaller
- 其他依赖将在运行时自动安装
使用方法
1. 启动程序
直接运行 pyinstaller_gui.py 文件:
python pyinstaller_gui.py
2. 基本设置
- 选择Python脚本:点击"浏览"按钮选择要打包的Python脚本
- 设置输出目录:指定打包后的文件保存位置
- 程序名称:自动填充,可修改
- 程序图标:可选,支持.ico格式图标
3. 打包模式
- 单文件:将所有文件打包为单个可执行文件
- 目录:生成包含可执行文件和相关依赖的目录
- 窗口模式:不显示控制台窗口(适合GUI应用)
4. 依赖管理
- 自动检测依赖:点击"自动检测依赖"按钮,程序会自动检测脚本依赖并安装
- 拖放安装WHL包:直接将.whl文件拖放到依赖管理区域
- 导入requirements.txt:点击"导入requirements.txt"按钮选择依赖文件
- 安装PIP包:在输入框中输入包名,点击"安装PIP包"按钮
5. 附加文件
- 添加文件:点击"添加文件"按钮选择要包含的文件
- 添加目录:点击"添加目录"按钮选择要包含的目录
- 移除选中项:选择要移除的项,点击"移除选中项"按钮
6. 附加库
- 手动添加:在输入框中输入库名称,点击"添加"按钮
- 从文件导入:点击"从文件导入"按钮选择包含库列表的文本文件
- 移除选中项:选择要移除的库,点击"移除选中项"按钮
- 清空列表:一键清空所有附加库
7. 高级设置
- 调试输出:启用后显示详细的调试信息
- 优化级别:设置Python解释器的优化级别(0-2)
- 清理构建文件:打包完成后清理临时构建文件
- 仅生成spec文件:只生成打包配置文件,不进行实际打包
- UPX选项:配置UPX压缩相关设置
- 隐藏导入:添加PyInstaller无法自动检测的依赖模块
- 排除模块:从打包中排除指定模块
- 工作目录:设置PyInstaller的工作目录
- 附加参数:直接传递给PyInstaller的命令行参数
8. 开始打包
点击"开始打包"按钮,程序将开始打包过程,并在右侧日志区域显示实时进度。
项目结构
├── pyinstaller_gui.py # 主程序文件
├── pyinstaller_spec_editor.py # spec文件编辑器
├── python-3.9.13-embed-amd64.zip # 64位Python嵌入式包
├── python-3.9.13-embed-win32.zip # 32位Python嵌入式包
└── README.md # 项目说明文档
技术实现
核心组件
- PythonExtractThread:后台线程,负责解压Python嵌入式包
- PyInstallerGUI:主窗口类,包含所有UI组件和逻辑
- 多标签页设计:基本设置、附加文件、附加库、高级设置
关键功能实现
- 依赖自动检测:使用pipreqs库自动生成依赖文件
- 后台进程管理:使用QProcess处理外部命令
- 实时日志:使用信号槽机制实时更新日志
- 拖放功能:支持文件拖放操作
- 样式切换:支持深色/浅色模式动态切换
注意事项
- 第一次运行时,程序会自动解压Python嵌入式包,可能需要一些时间
- 打包大型项目时,建议使用目录模式,单文件模式可能会导致启动缓慢
- 某些第三方库可能需要手动添加到附加库列表中
- 使用UPX压缩可能会导致某些程序无法正常运行,如遇到问题请尝试禁用UPX
- 打包完成后,可在输出目录找到生成的可执行文件
常见问题
Q: 为什么程序启动缓慢?
A: 运行时需要解压Python嵌入式包,这是正常现象。
Q: 打包后的程序无法运行?
A: 请检查:
- 是否添加了所有必要的附加文件和目录
- 是否将所有依赖库添加到了附加库列表
- 是否在高级设置中添加了隐藏导入
Q: 如何解决依赖问题?
A: 可以尝试:
- 使用自动依赖检测功能
- 手动添加缺失的库到附加库列表
- 查看日志中的错误信息,针对性解决
Q: 如何减小打包后的文件大小?
A: 可以尝试:
- 启用UPX压缩
- 设置更高的优化级别
- 排除不必要的模块
- 只包含必要的附加文件
更新日志
v1.0.0
- 初始版本
- 支持基本的PyInstaller打包功能
- 图形化界面设计
- 自动依赖检测
- 附加文件和库管理
许可证
Apache License 2.0
贡献
欢迎提交Issue和Pull Request!
联系方式
如有问题或建议,请通过以下方式联系:
- 提交GitHub Issue
- 发送邮件到:github508364@qq.com
PyInstaller GUI - 让Python打包更简单! 🚀