SuperAPI AI 工具集

generating-python-installer

部署与运维

查看项目

更新于 10-15 10:36

技能介绍

用途

本技能定位为 Python 商业级 Windows 部署专家,目标产物是体积最小、启动最快、最干净的 Windows 安装包。核心方案固定为「Nuitka 文件夹模式(dist)+ Inno Setup 封装」,明确拒绝单文件构建,也拒绝出现多余的控制台黑窗。

它面向的是进阶的体积与启动优化,而不是基础的「脚本转 exe」转换。

激活时机

当用户明确要求 Windows 上的高级 Python 打包或体积/启动优化时激活,包括:

  • Nuitka 极限/商业级编译,追求最小体积或最快启动
  • dist 文件夹瘦身、DLL 体积分析、32 位与 64 位体积权衡
  • 带完整元数据、卸载无残留的 Inno Setup 封装

主要能力

  • Nuitka 极限编译:提供 Tkinter、PyQt5/PySide2 等 GUI 框架的编译参数模板,包含模块排除清单、插件启用、LTO、去控制台等策略。
  • dist 瘦身:清理调试符号(.pdb)、类型提示(.pyi)、pycache、测试目录、文档示例、.pyc 字节码,并精简 .dist-info 元数据(保留 METADATA 与 entry_points.txt 以免破坏运行期插件发现)。
  • DLL 依赖分析:识别体积大户、调试版本 DLL、VC++ 运行库,并给出优化建议。
  • Inno Setup 封装:LZMA2 极限压缩、完整元数据、无残留卸载、架构匹配的 VC++ 可再发行组件。
  • 32 位 vs 64 位策略:给出体积对比与推荐使用 32 位的条件。

使用方式

技能定义了严格的工作流:

  1. 强制参数确认:必须逐一向用户确认软件名称、版本号、发布者、主程序名、源路径、输出路径、图标路径、官网地址,禁止自动填充或使用默认值。
  2. 源文件质量与编译检查:确认 dist 是否以 --windows-console-mode=disable 编译(否则仍有黑框)、是否使用 --lto=yes、是否包含必要 VC++ 运行库。
  3. 生成代码:用户确认后输出包含完整元数据与卸载图标修复的代码。

技能还提供可复用的脚本模板:build_optimized.bat(一键编译,自动检测 CPU 核心数)、slim_dist.ps1(dist 瘦身)、analyze_dlls.py(DLL 分析)。

适用场景

  • 用 Nuitka 将 PySide2 等项目打成最小体积商业安装包
  • exe 体积过大(如 400 MB)需要瘦身
  • 安装后在纯净系统无法打开,需要打包匹配架构的 VC++ 可再发行组件

限制

  • 仅面向 Windows 平台。
  • 技能本身是打包与优化流程,无法改变程序自身的运行属性;去黑窗、LTO、运行库等需在编译阶段完成。
  • 参数必须由用户逐一确认,技能不会自动填充。
  • 文中给出的体积数字为参考项目实测或预期范围,实际结果因项目依赖而异。