Skip to main content

A modern graphical packaging config tool for PyInstaller, Nuitka, and cx_Freeze.

Project description

QPyPack

QPyPack 是一个为 Python 开发者设计的图形化打包配置工具。它将复杂的命令行打包流程(支持 PyInstallerNuitkacx_Freeze)转化为直观、简易的 GUI 界面操作,无需记忆繁琐的终端命令,即可快速生成可执行文件(.exe)。

image image


核心设计:让打包变简单

为了解决传统命令行打包参数多、依赖易冲突、配置繁琐的问题,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" 时才追加对应指令。

快速上手

只需三步,即可完成打包:

  1. 拖入脚本:将您的 Python 脚本拖拽至主界面。
  2. 选择引擎:点击右下角设置,在“基础打包”中选择您想使用的引擎(推荐默认的 PyInstaller 进行快速验证)。
  3. 开始构建:返回主界面点击“开始构建”,并在下方展开的控制台中实时查看打包进度。

启动应用

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

python main.py

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

GitHub Releases 下载链接

Project details


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qpypack-2.2.0-py3-none-any.whl (589.9 kB view details)

Uploaded Python 3

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

Hashes for qpypack-2.2.0.tar.gz
Algorithm Hash digest
SHA256 43130ec020bf1935c110a6dc5cc5c9deb4eaf74c92cc814f410b4ab73ec0d6e0
MD5 d1569cd83159b884c00e1a61731bc9ba
BLAKE2b-256 7c07790f51765238cde6d6114e1cb9ceb81a17211bcbd9652654b317836dc4e8

See more details on using hashes here.

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

Hashes for qpypack-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2bbbc7d7ca9238e93a29dcf6e3add09a05db801d4def5245679b4b1c7f9387b9
MD5 dd37cfb212a703f91d12592325e953c9
BLAKE2b-256 8f2043efcc62bef58bf529c46781cdb3338577595c3489bd3e80bf55e33653be

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page