PyPack

PyPack 是一个基于 PyQt5 开发的图形化 Python 脚本打包与构建辅助工具。它整合了 PyInstaller、Nuitka 和 cx_Freeze 三种主流打包引擎,旨在通过直观的 GUI 界面降低命令行打包的复杂度,并提供自动依赖分析与虚拟环境隔离等功能。

image image

主要功能

  • 多引擎集成:支持在界面中快速切换 PyInstaller、Nuitka 和 cx_Freeze 打包引擎。
  • 拖拽式操作:提供支持拖放(Drag and Drop)的脚本装载区域,亦可手动浏览选择主脚本。
  • 自动依赖解析:
    • 优先读取项目同级目录下的 requirements.txt。
    • 若无配置文件,则通过 Python 标准库中的 ast 模块静态分析脚本文件,提取第三方依赖(自动过滤标准库),同时提供基于正则表达式的备份扫描。
  • 隔离构建环境 (Venv):支持自动在临时目录下创建虚拟环境以隔离全局环境,降低依赖冲突的风险。
  • 自定义 PIP 镜像源(v1.0.1 新增):高级选项中支持自定义设置 PIP 镜像源地址,默认提供清华大学镜像源以提升国内下载速度,修改后自动实时保存。
  • 元数据配置 (Windows):支持在界面配置版本号、发行公司、文件描述等元数据。对于 PyInstaller,会自动生成版本信息描述文件;对于 Nuitka,则自动映射为对应的编译器参数。
  • 多项细节优化:
    • 支持控制台隐藏、单文件/单目录输出切换、UPX 压缩等。
    • 支持添加附加资源文件(格式为 源路径:目标路径),并提供交互式选择对话框。
    • 支持图标预览功能(可自动识别脚本目录下的 icon.ico / logo.ico)。
    • 采用 QThread 异步执行打包任务,保持 GUI 界面在打包过程中响应正常,并在日志窗口中实时输出控制台信息。

更新日志 (Changelog)

[1.0.1] - 2026-05-31

新增

  • 自定义 PIP 镜像源:在“高级选项”界面中引入了 PIP 镜像源输入配置,默认使用清华大学开源软件镜像源(https://pypi.tuna.tsinghua.edu.cn/simple)。
  • 配置即时持久化:PIP 镜像源输入支持修改即时生效,并利用 QSettings 自动存储于注册表/配置文件中,下次启动应用时自动读取。

优化

  • 构建逻辑统一:优化了虚拟环境(Venv)初始化、打包引擎下载以及项目依赖解析时的命令行拼接逻辑,统一走用户配置的自定义 PIP 镜像源。

运行环境

  • 操作系统:Windows
  • Python 版本:Python 3.x
  • 核心依赖:
    • PyQt5
    • (根据选择的打包引擎)pyinstaller / nuitka / cx_Freeze / pillow

快速上手

1. 克隆或下载项目

将包含该源码的 Python 文件保存为 main.py。

2. 安装运行所需的必要依赖

在运行该工具前,您需要先安装 PyQt5:

pip install PyQt5

3. 启动应用

执行以下命令启动图形化界面:

python main.py

或者使用打包好的二进制文件直接运行

GitHub Releases 下载链接

4. 打包您的项目

  1. 装载脚本:将需要打包的 .py 文件拖拽至上方的拖拽区,或者点击主界面的“浏览...”按钮进行选择。
  2. 配置选项:
    • 选择您要使用的构建引擎。
    • 根据需要调整打包选项(如是否开启虚拟环境、是否单文件输出、是否隐藏控制台等)。
    • 如有需要,在“高级选项”选项卡中配置 PIP 镜像源、隐式依赖、附加资源和版本元数据。
  3. 开始构建:点击右下角的**“开始构建”**。下方日志窗口会实时更新编译进度。
  4. 提取产物:构建成功后,点击“打开输出目录”按钮即可直达打包好的可执行文件位置。
S
Description
Modern cross-platform Python packaging GUI powered by PyInstaller & Nuitka. 基于 PyInstaller 与 Nuitka 的跨平台 Python 应用可视化打包工具。
https://app.qwejay.cn/QPyPack/
Readme GPL-3.0
1.8 MiB
0 Stars 1 Watchers 0 Forks
Languages
Python 100%