PyInstaller 桌面应用重打包

SKILL开发

原名 pyinstaller-rebuild

开发 未标注权限 许可证不明确
安装这个技能

重打包前先把旧 dist 目录改名移走,避开批量删除被拦导致构建失败,再把源库逐字节同步到打包内部数据目录,让打包后的数据保持一致。

一句话选型结论

按资料字段整理

PyInstaller 桌面应用重打包是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_6f47e228/pyinstaller-rebuild
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_6f47e228仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验2026-11-06上游最后核验时间 · 数据更新 2026-11-06
正文体量3.8 KBSKILL.md 原文大小,越大说明说明书写得越细

能做什么

0 项能力
上游给出的能力概览与适用场景
修复 dist 构建失败同步打包数据目录重打包桌面应用

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
PyInstaller 桌面应用重打包当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

3.8 KB
模型实际读到的说明书原文,来自技能仓库

技能|PyInstaller重打包与dist避坑法

> 与知识库 05-技能库/技能|PyInstaller重打包与dist避坑法.md 一一对应(三处同步之一)。

适用场景

源码/数据更新后重新构建桌面壳。spec 里 datas 会把 data/*.db 捎带进包,但需保证与源库一致。

触发词

重打包、PyInstaller、COLLECT 删除被拦、dist 构建失败、打包后数据不对、sync_data_to_dist、_internal/data

操作步骤

  1. 先把旧 dist/应用名 改名移走(如 dist/_prev_build_bak):沙箱/安全策略会拦 PyInstaller COLLECT 阶段的批量删除(本次 137 个文件超限),不改名的直接后果是 EXIT=1 构建失败。用改名而不是删除。
  2. 构建:pyinstaller --noconfirm <应用名>.spec(用 venv 里的 Scripts/pyinstaller.exe)。耗时长,放后台跑并重定向日志。
  3. 确认 EXIT=0,再检查 dist/应用名/应用名.exe 存在。
  4. 同步数据:python scripts/sync_data_to_dist.py 把源 data/*.db 覆盖到 dist/应用名/_internal/data(spec 构建时已捎带,此步保证逐字节一致)。
  5. 验打包内数据:打开 dist/应用名/_internal/data/*.db 数 shows / flow_records,与源库核对(本次 82 / 2677)。
  6. 冻结路径确认:backend/db.py 的 DATA_DIR 在 frozen 下解析到 _internal/data,所以同步目录必须是这里。
  7. 清理:确认新构建无误后,把第 1 步移走的旧构建挪到临时区(不要 bulk delete)。

注意边界

  • 构建日志务必落盘:失败信息在几千行输出里,不落盘根本找不到。
  • --noconfirm 避免交互确认卡住后台任务。
  • 打包内的 DB 是给最终用户的,必须与源库一致;spec 的 datas 只在构建那一刻拷贝,之后源库再变不会自动跟进。
  • 旧构建用改名(mv)移走,不用 rm -rf——既避开删除拦截,也留了回退。

反例避雷

反例 为什么错 正确做法
让 PyInstaller 直接覆盖旧 dist COLLECT 批量删被拦 → EXIT=1 构建失败 先把旧 dist 改名移走再构建
用 rm -rf 清旧构建 触发安全策略拦截 / 不可逆 用 mv 改名移走
构建完不同步数据 包里是构建那一刻的旧库 跑 sync_data_to_dist.py 并核对计数
去 dist 根找数据目录 实际数据在 _internal/data 按 db.py 的 frozen 路径解析
用裸解释器跑 pyinstaller 缺依赖 / 找不到命令 用 venv 的 Scripts/pyinstaller.exe

关联

  • 总纲技能:05-技能库/技能|安检数据导入与发版打包流程.md
  • 项目:D:\安检系统(FastAPI + SQLite 按年分库 + PyInstaller/Inno Setup 桌面壳)
  • 文件:安检系统.spec、scripts/sync_data_to_dist.py、backend/db.py

版本记录

版本 日期 变更
v1.0.0 2026-09-29 首版实战固化(V4.5.7):旧 dist 改名后构建 EXIT=0,同步后包内 82 展 / 2677 流水与源库一致

常见问题

5 问
答案由本站依据条目字段整理
PyInstaller 桌面应用重打包怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_6f47e228/pyinstaller-rebuild。安装方式为未标注。装完刷新技能列表或重开客户端。

PyInstaller 桌面应用重打包支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

PyInstaller 桌面应用重打包权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

PyInstaller 桌面应用重打包收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

PyInstaller 桌面应用重打包用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 2026-11-06。