SuperAPI AI 工具集

uv-dependency-management

编程与开发

查看项目

更新于 10-15 20:34

技能介绍

用途:系统掌握 uv 的 Python 依赖管理,包括增删包、版本约束、开发与生产依赖分组、锁定文件与版本冲突解决。

主要能力:

  • 依赖作用域:主依赖([project] dependencies)、可选附加依赖(optional-dependencies)、开发组([dependency-groups]),适合按用途拆分 dev、test、lint、docs。
  • 添加与删除:uv add requests httpx、uv add --dev pytest、uv add --group test pytest-cov、uv add "pandas[excel,plot]"、uv remove requests,支持多包与 extras。
  • 版本约束:>=、>=X,<Y、~=、==,开发用宽松、生产用范围或精确版本。
  • 更新:uv sync --upgrade、uv lock --upgrade,uv add "requests@2.32.0" 固定具体版本。
  • 分组安装:uv sync --group dev --group lint、uv sync --all-groups、uv sync --no-dev。
  • 锁定文件:uv.lock 记录精确版本,保证跨机器可复现安装,应纳入版本控制;CI 中用 uv sync --frozen 防止锁不同步。
  • 冲突处理:用 uv add --dry-run 排查、调整约束范围或拆分为独立分组。

使用方式:需先安装 uv(curl -LsSf https://astral.sh/uv/install.sh | sh),项目由 uv init 生成 pyproject.toml,Python 3.8+;用 uv tree 查看依赖树。示例场景包括 Web API、可选功能库、数据科学项目、生产更新策略与含本地路径依赖的 monorepo(uv add --editable ../shared-lib)。

限制:资料未提供 uv 的收费、平台支持范围或性能基准;版本冲突只能按上述三种思路缓解,无法保证必然解决。