A modern graphical packaging config tool for PyInstaller, Nuitka, and cx_Freeze.
Project description
QPyPack
QPyPack 是一个为 Python 开发者设计的图形化打包配置工具。它将复杂的命令行打包流程(支持 PyInstaller、Nuitka 和 cx_Freeze)转化为直观、简易的 GUI 界面操作,无需记忆繁琐的终端命令,即可快速生成可执行文件(.exe)。
核心设计:让打包变简单
为了解决传统命令行打包参数多、依赖易冲突、配置繁琐的问题,QPyPack 2.0 围绕“易用性”进行了重新设计:
1. 极简的交互流程
- 拖拽即装载:无需手动输入路径,直接将您的
.py源代码文件拖入软件窗口,即可自动识别并准备构建。 - 智能图标匹配:脚本载入后,程序会自动检索同目录下的常用图标文件(如
icon.ico/logo.ico)并自动填充和预览。 - 一键直达结果:打包完成后,点击“打开输出目录”按钮即可自动弹出 Windows 资源管理器并定位到生成的程序。
2. 自动化的依赖与环境处理
- 智能沙盒隔离 (Venv):支持一键开启虚拟环境。工具会在临时目录下自动创建干净的沙盒环境,仅安装打包所需的库,有效减小最终生成的
.exe文件的体积。 - 多维度依赖扫描:
- 自动检测并优先读取项目目录下的
requirements.txt。 - 提供辅助的 AST(静态语法树)扫描选项,自动分析代码中导入的第三方模块,帮助您查漏补缺隐式依赖。
- 自动检测并优先读取项目目录下的
- 内置国内加速源:预设清华大学等国内 PIP 镜像源,在沙盒中拉取打包工具或依赖库时自动加速。
3. 可视化高级参数配置
- 三引擎无缝切换:在下拉菜单中即可在 PyInstaller、Nuitka 和 cx_Freeze 之间切换,相关的参数输入框会根据引擎特性自动启用或隐藏。
- 可视化版本属性:无需编写复杂的版本配置文件,直接在界面文本框中输入版本号、公司名和产品描述,工具会自动将其写入生成的
.exe元数据中。 - 直观的资源添加:通过交互式对话框选择需要打包的图片、数据文件夹,自动生成跨平台兼容的路径映射。
Changelog
2.2
- 更名为 QPyPack,规范目录结构for PyPI,优化内部沙盒与临时文件命名规范。
- 超时守护 (Watchdog):引入看门狗机制,为关键打包步骤设置超时限制,防止因网络问题导致构建无限期挂起。
- 依赖推导优化:pipreqs 原生支持国内镜像站重定向加速,并增加 15 秒超时自愈,失败时自动降级为本地纯静态 AST 解析。
- 智能命名输出:自动解析脚本版本,预设输出文件名为 {Name}_{Version} 格式(例如:QPyPack_2.2.0.exe)。
- 编译兼容扩展:Nuitka 编译模式新增对 PyQt6、PySide、NumPy、Matplotlib 等常用插件的自适应识别。
- 细节打磨:改进日志高频刷新滚动体验,优化版本信息元数据抓取退级逻辑。
2.1
- Nuitka单文件打包解压路径修改为%LOCALAPPDATA%
- 增加建构失败动画
- 尝试修复打包后容易被WINDOWS安全拦截的问题
2.0.1
- 修正 Nuitka 参数传递方式:将 cmd.extend(["--include-data-files", "src=dest"]) 修改为更符合 Nuitka 规范的单参数追加形式:cmd.append(f"--include-data-files={src}={dest}")。
- 加入平台感知后缀:动态识别操作系统(Windows 使用 .exe 后缀,而 macOS/Linux 不使用),避免跨平台定位产物失败。
- 安全过滤平台专有参数:对于 Windows 特有的元数据写入(如公司名称、描述、文件版本、ICO 图标),只有当 os.name == "nt" 时才追加对应指令。
快速上手
只需三步,即可完成打包:
- 拖入脚本:将您的 Python 脚本拖拽至主界面。
- 选择引擎:点击右下角设置,在“基础打包”中选择您想使用的引擎(推荐默认的 PyInstaller 进行快速验证)。
- 开始构建:返回主界面点击“开始构建”,并在下方展开的控制台中实时查看打包进度。
启动应用
执行以下命令启动图形化界面:
python main.py
或者使用打包好的二进制文件直接运行
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
qpypack-2.2.0.tar.gz
(593.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
qpypack-2.2.0-py3-none-any.whl
(589.9 kB
view details)
File details
Details for the file qpypack-2.2.0.tar.gz.
File metadata
- Download URL: qpypack-2.2.0.tar.gz
- Upload date:
- Size: 593.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43130ec020bf1935c110a6dc5cc5c9deb4eaf74c92cc814f410b4ab73ec0d6e0
|
|
| MD5 |
d1569cd83159b884c00e1a61731bc9ba
|
|
| BLAKE2b-256 |
7c07790f51765238cde6d6114e1cb9ceb81a17211bcbd9652654b317836dc4e8
|
File details
Details for the file qpypack-2.2.0-py3-none-any.whl.
File metadata
- Download URL: qpypack-2.2.0-py3-none-any.whl
- Upload date:
- Size: 589.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2bbbc7d7ca9238e93a29dcf6e3add09a05db801d4def5245679b4b1c7f9387b9
|
|
| MD5 |
dd37cfb212a703f91d12592325e953c9
|
|
| BLAKE2b-256 |
8f2043efcc62bef58bf529c46781cdb3338577595c3489bd3e80bf55e33653be
|