Agent Skills
返回列表
💻

Deptry 依赖审计器

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/audit-python-dependency-declarations-before-release 技能到你的 AI 助手中。

技能介绍

依赖声明为什么会悄悄失真

Python 项目的依赖清单很少能一劳永逸。一次顺手的 pip install、一段实验性质的导入、一个仅因传递关系而存在的包——这些操作都不会自动更新 pyproject.toml 或 requirements.txt。等到发布前再回头看,清单里往往躺着早已没人 import 的包,而真正被用到的模块却可能压根没声明,只能依赖间接依赖侥幸生效。这类偏差在单人小项目里只是难看,在多人协作或长期维护的仓库里,就是构建不可复现、安全审计翻车的伏笔。

发布前跑一轮静态审计

这个技能的核心做法是把 Deptry 当作发版前的例行检查:扫描整个代码库的实际导入,与项目声明的依赖逐条对照,再把差异分成三类:

  • 未使用的直接依赖:声明了却没有任何代码 import 的包;
  • 缺失的声明:代码在用、但清单里没有的包;
  • 仅靠传递关系生效的导入:实际来自某个依赖的间接依赖,上游一收紧就可能崩。

技能把发现整理成两类输出:可以顺手清理的项,转化为 cleanup 提交;真正影响交付的项,直接作为发布阻止项拦下来,逼你在版本出去之前把账对平。

适用边界与注意点

  • 仓库需已配置 Deptry,且运行环境有可用的 Python 与包管理器解析元数据,否则扫描结果可能不完整。
  • 静态分析只看字面导入,动态加载(如 importlib 按字符串导入)可能被漏判,必要时需人工复核。
  • 它解决的是声明与代码的一致性问题,不替代漏洞扫描或许可证合规检查,重要项目仍建议配合专用工具使用。

使用场景

  • 准备发版前,对项目依赖清单做最终核对,确认没有多余或缺失声明
  • 接手维护一个长期无人打理的 Python 项目,需要摸清依赖声明与实际代码的差距
  • 多人协作项目合并依赖变更后,验证新增或删除的包是否与代码导入一致
  • 开源仓库提交 PR 前,自查本次改动有没有引入未声明或不再使用的依赖

适合人员

  • 独立开发者,习惯自己写项目又要发版,担心依赖清单随时间变得不可信
  • 小型团队的 Python 维护者,每次发版前需要有人把关依赖声明,避免把多余或缺失的包带出去
  • 开源项目贡献者,提交 PR 前想快速核对本次改动是否引入了未声明或不再使用的依赖
  • 技术负责人,负责审查合并请求中的依赖变更,需要工具支撑而不是纯靠肉眼检查