mcpField
L
ln-713-pip-upgrader

ln-713-pip-upgrader

github.com/levnikolaevich开发58455 次安装2 天前更新
代码仓库

关于 ln-713-pip-upgrader

面向使用 pip、poetry 或 pipenv 的 Python 项目升级依赖。该技能会进行安全审计、查找过期包、应用升级、检查破坏性变更,并验证安装与测试。

主要功能

  1. 01识别 pip、poetry、pipenv
  2. 02依赖安全审计
  3. 03查找过期包
  4. 04升级并更新依赖清单
  5. 05导入与 pytest 验证

适用场景

  1. 01升级 Python 项目依赖
  2. 02升级前检查过期包
  3. 03维护依赖时排查安全问题
  4. 04升级后验证导入与测试

MCP 相关

工作流可使用 Context7 和 MCP Ref 等 MCP 工具检索库文档与迁移指南,以应对破坏性变更。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-713-pip-upgrader

安装后在 Claude Code 中输入/ln-713-pip-upgrader确认已加载。

附带文件diagram.htmlreferences/python_venv_handling.md

详细介绍

路径: 文件路径(shared/、references/、../ln-*)均相对于 skills 仓库根目录。如果在 CWD 中找不到,请定位此 SKILL.md 所在目录,并向上一级找到仓库根目录。

ln-713-pip-upgrader

类型: L3 Worker
类别: 7XX 项目引导
父级: ln-710-dependency-upgrader

升级 Python 依赖,并自动检测破坏性变更。


概述

方面详情
输入项目路径、包管理器类型
输出更新后的 requirements.txt/pyproject.toml
支持pip、poetry、pipenv

工作流

请参阅 diagram.html 查看工作流示意图。

阶段: 升级前检查 → 检测包管理器 → 安全审计 → 检查过时依赖 → 应用升级 → 验证安装 → 报告


阶段 0:升级前检查

检查项必需缺失时的操作
requirements.txt 或 pyproject.toml 或 Pipfile是阻止升级
虚拟环境已激活否警告用户(存在污染系统的风险)

Worker 假定协调器(ln-710)已验证 git 状态并创建备份。


阶段 1:检测包管理器

包管理器标识文件
piprequirements.txt
poetrypyproject.toml + poetry.lock
pipenvPipfile + Pipfile.lock

阶段 2:安全审计

命令
包管理器命令
pippip-audit --json
poetrypoetry audit(通过插件)
pipenvpipenv check
操作
严重程度操作
严重阻止升级并报告
高发出警告,继续执行
中/低仅记录

阶段 3:检查过时依赖

命令
包管理器命令
pippip list --outdated --format=json
poetrypoetry show --outdated
pipenvpipenv update --outdated

阶段 4:应用升级

命令
包管理器命令
pippip install --upgrade <package>
pip(freeze)pip freeze > requirements.txt
poetrypoetry update
pipenvpipenv update

用于迁移搜索的 MCP 工具

优先顺序(回退策略)
优先级工具使用时机
1mcp__context7__query-docs查找库文档的首选
2mcp__Ref__ref_search_documentation官方文档和 PyPI
3WebSearch最新信息、社区解决方案
Context7 用法
步骤工具参数
1. 查找库mcp__context7__resolve-library-idlibraryName: "pydantic"
2. 查询文档mcp__context7__query-docsquery: "pydantic v1 to v2 migration breaking changes"
MCP Ref 用法
操作工具查询示例
搜索mcp__Ref__ref_search_documentation"python pydantic 2 migration guide"
阅读mcp__Ref__ref_read_url搜索结果中的 URL
WebSearch 回退方案

当 Context7/Ref 没有返回结果时使用:

  • "<package> python <version> breaking changes migration"
  • "<ImportError message> <package> fix"

阶段 5:验证安装

命令
检查项命令
导入测试python -c "import <package>"
测试pytest 或 python -m pytest

阶段 6:报告结果

报告架构
字段描述
project项目路径
packageManagerpip、poetry 或 pipenv
duration总耗时
upgrades[]已应用的升级
verificationPASSED 或 FAILED

常见重大变更

必须阅读: 加载 breaking_changes_patterns.md,查看完整模式。

包重大变更版本主要变更
pydantic1 → 2需要 V1 兼容层
sqlalchemy1 → 2查询语法变更
fastapi0.99 → 0.100+需要 Pydantic v2

配置

Options:
  # Upgrade scope
  upgradeType: major          # major | minor | patch

  # Security
  auditLevel: high
  minimumReleaseAge: 14

  # Python specific
  pythonVersion: "3.12"
  useVirtualenv: true

  # Verification
  runTests: true

错误处理

错误原因解决方案
ImportErrorAPI 重大变更在 Context7/Ref 中搜索迁移指南
依赖冲突版本不匹配尝试 pip-compile 或 poetry lock

参考资料


完成标准

  • 根据指示文件检测包管理器(pip/poetry/pipenv)
  • 完成安全审计(pip-audit/poetry audit/pipenv check)
  • 找出过时的包并列出
  • 应用升级,并更新 requirements.txt/pyproject.toml
  • 通过 MCP 迁移指南处理重大变更
  • 升级后导入测试和 pytest 均通过
  • 返回报告,列出已应用的升级和验证状态

版本: 1.1.0 最后更新: 2026-01-10

评论

支持 Markdown