ln-713-pip-upgrader

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

ln-713-pip-upgrader

ln-713-pip-upgrader

Type: L3 Worker Category: 7XX Project Bootstrap Parent: ln-710-dependency-upgrader
Upgrades Python dependencies with automatic breaking change detection.

类型: L3 Worker 分类: 7XX 项目引导 父级: ln-710-dependency-upgrader
自动检测破坏性变更并升级Python依赖项。

Overview

概述

AspectDetails
InputProject path, package manager type
OutputUpdated requirements.txt/pyproject.toml
Supportspip, poetry, pipenv

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

Workflow

工作流

See diagram.html for visual workflow.
Phases: Pre-flight → Detect Manager → Security Audit → Check Outdated → Apply Upgrades → Verify Installation → Report

查看diagram.html获取可视化工作流。
阶段: 预检 → 检测包管理器 → 安全审计 → 检查过时依赖 → 应用升级 → 验证安装 → 报告

Phase 0: Pre-flight Checks

阶段0:预检检查

CheckRequiredAction if Missing
requirements.txt OR pyproject.toml OR PipfileYesBlock upgrade
Virtual environment activeNoWarn user (risk of system pollution)
Workers assume coordinator (ln-710) already verified git state and created backup.

检查项是否必需缺失时的操作
requirements.txt 或 pyproject.toml 或 Pipfile阻止升级
虚拟环境已激活警告用户(存在系统污染风险)
Worker 假设协调器(ln-710)已验证Git状态并创建备份。

Phase 1: Detect Manager

阶段1:检测包管理器

ManagerIndicator Files
piprequirements.txt
poetrypyproject.toml + poetry.lock
pipenvPipfile + Pipfile.lock

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

Phase 2: Security Audit

阶段2:安全审计

Commands

命令

ManagerCommand
pip
pip-audit --json
poetry
poetry audit
(via plugin)
pipenv
pipenv check
包管理器命令
pip
pip-audit --json
poetry
poetry audit
(通过插件)
pipenv
pipenv check

Actions

操作

SeverityAction
CriticalBlock upgrade, report
HighWarn, continue
Moderate/LowLog only

严重程度操作
严重(Critical)阻止升级,生成报告
高(High)发出警告,继续执行
中/低(Moderate/Low)仅记录日志

Phase 3: Check Outdated

阶段3:检查过时依赖

Commands

命令

ManagerCommand
pip
pip list --outdated --format=json
poetry
poetry show --outdated
pipenv
pipenv update --outdated

包管理器命令
pip
pip list --outdated --format=json
poetry
poetry show --outdated
pipenv
pipenv update --outdated

Phase 4: Apply Upgrades

阶段4:应用升级

Commands

命令

ManagerCommand
pip
pip install --upgrade <package>
pip (freeze)
pip freeze > requirements.txt
poetry
poetry update
pipenv
pipenv update

包管理器命令
pip
pip install --upgrade <package>
pip(冻结版本)
pip freeze > requirements.txt
poetry
poetry update
pipenv
pipenv update

MCP Tools for Migration Search

用于迁移搜索的MCP工具

Priority Order (Fallback Strategy)

优先级顺序(回退策略)

PriorityToolWhen to Use
1mcp__context7__query-docsFirst choice for library docs
2mcp__Ref__ref_search_documentationOfficial docs and PyPI
3WebSearchLatest info, community solutions
优先级工具使用场景
1mcp__context7__query-docs库文档的首选工具
2mcp__Ref__ref_search_documentation官方文档和PyPI
3WebSearch最新信息、社区解决方案

Context7 Usage

Context7 使用方法

StepToolParameters
1. Find librarymcp__context7__resolve-library-idlibraryName: "pydantic"
2. Query docsmcp__context7__query-docsquery: "pydantic v1 to v2 migration breaking changes"
步骤工具参数
1. 查找库mcp__context7__resolve-library-idlibraryName: "pydantic"
2. 查询文档mcp__context7__query-docsquery: "pydantic v1 to v2 migration breaking changes"

MCP Ref Usage

MCP Ref 使用方法

ActionToolQuery Example
Searchmcp__Ref__ref_search_documentation"python pydantic 2 migration guide"
Readmcp__Ref__ref_read_urlURL from search results
操作工具查询示例
搜索mcp__Ref__ref_search_documentation"python pydantic 2 migration guide"
读取mcp__Ref__ref_read_url搜索结果中的URL

WebSearch Fallback

WebSearch 回退方案

Use when Context7/Ref return no results:
  • "<package> python <version> breaking changes migration"
  • "<ImportError message> <package> fix"

当Context7/Ref未返回结果时使用:
  • "<package> python <version> breaking changes migration"
  • "<ImportError message> <package> fix"

Phase 5: Verify Installation

阶段5:验证安装

Commands

命令

CheckCommand
Import test
python -c "import <package>"
Tests
pytest
or
python -m pytest

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

Phase 6: Report Results

阶段6:报告结果

Report Schema

报告 Schema

FieldDescription
projectProject path
packageManagerpip, poetry, or pipenv
durationTotal time
upgrades[]Applied upgrades
verificationPASSED or FAILED

字段描述
project项目路径
packageManagerpip, poetry, 或 pipenv
duration总耗时
upgrades[]已应用的升级
verification通过(PASSED)或失败(FAILED)

Common Breaking Changes

常见破坏性变更

See breaking_changes_patterns.md for full patterns.
PackageBreaking VersionKey Changes
pydantic1 → 2V1 compatibility layer needed
sqlalchemy1 → 2Query syntax changes
fastapi0.99 → 0.100+Pydantic v2 required

详见breaking_changes_patterns.md获取完整模式。
破坏性版本主要变更
pydantic1 → 2需要V1兼容层
sqlalchemy1 → 2查询语法变更
fastapi0.99 → 0.100+依赖Pydantic v2

Configuration

配置

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

  # Security
  auditLevel: high
  minimumReleaseAge: 14

  # Python specific
  pythonVersion: "3.12"
  useVirtualenv: true

  # Verification
  runTests: true

yaml
Options:
  # 升级范围
  upgradeType: major          # major | minor | patch

  # 安全设置
  auditLevel: high
  minimumReleaseAge: 14

  # Python相关配置
  pythonVersion: "3.12"
  useVirtualenv: true

  # 验证设置
  runTests: true

Error Handling

错误处理

ErrorCauseSolution
ImportErrorBreaking API changeSearch Context7/Ref for migration
Dependency conflictVersion mismatchTry pip-compile or poetry lock

错误原因解决方案
ImportErrorAPI破坏性变更搜索Context7/Ref获取迁移方案
依赖冲突版本不匹配尝试使用pip-compile或poetry lock

References

参考资料

  • breaking_changes_patterns.md
  • python_venv_handling.md

Version: 1.1.0 Last Updated: 2026-01-10
  • breaking_changes_patterns.md
  • python_venv_handling.md

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