PyInstaller_GUI_Pro:基于 PyQt5 的 Python 应用打包工具

用户可轻松将 Python 脚本打包为可执行文件。该工具提供图形化中文界面,支持单文件/目录打包、窗口/控制台模式,具备自动依赖检测、实时日志输出、附加文件管理及高级设置功能,简化 Python 应用打包流程。【此简介由AI生成】

分支1Tags1
文件最后提交记录最后更新时间
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. 基本设置

  1. 选择Python脚本:点击"浏览"按钮选择要打包的Python脚本
  2. 设置输出目录:指定打包后的文件保存位置
  3. 程序名称:自动填充,可修改
  4. 程序图标:可选,支持.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               # 项目说明文档

技术实现

核心组件

  1. PythonExtractThread:后台线程,负责解压Python嵌入式包
  2. PyInstallerGUI:主窗口类,包含所有UI组件和逻辑
  3. 多标签页设计:基本设置、附加文件、附加库、高级设置

关键功能实现

  • 依赖自动检测:使用pipreqs库自动生成依赖文件
  • 后台进程管理:使用QProcess处理外部命令
  • 实时日志:使用信号槽机制实时更新日志
  • 拖放功能:支持文件拖放操作
  • 样式切换:支持深色/浅色模式动态切换

注意事项

  1. 第一次运行时,程序会自动解压Python嵌入式包,可能需要一些时间
  2. 打包大型项目时,建议使用目录模式,单文件模式可能会导致启动缓慢
  3. 某些第三方库可能需要手动添加到附加库列表中
  4. 使用UPX压缩可能会导致某些程序无法正常运行,如遇到问题请尝试禁用UPX
  5. 打包完成后,可在输出目录找到生成的可执行文件

常见问题

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打包更简单! 🚀

项目介绍

用户可轻松将 Python 脚本打包为可执行文件。该工具提供图形化中文界面,支持单文件/目录打包、窗口/控制台模式,具备自动依赖检测、实时日志输出、附加文件管理及高级设置功能,简化 Python 应用打包流程。【此简介由AI生成】

定制我的领域