SuperAPI AI 工具集

uv

编程与开发

查看项目

更新于 10-16 08:05

技能介绍

uv 是一个极快的 Python 包与项目管理器,据资料可替代 pip、pip-tools、pipx、pyenv、virtualenv、poetry 等工具。当出现 uv.lock 文件或 requirements 文件中带有 uv 生成的标记(如 “This file was autogenerated by uv”)时,应使用 uv;由其他工具管理的项目(如含 poetry.lock 的 Poetry 项目、含 pdm.lock 的 PDM 项目)则不应使用 uv。

按场景选择工作流。脚本:运行单个 Python 文件或独立脚本,可用 uv run script.py;带额外包运行用 uv run --with requests script.py;把依赖内联进脚本用 uv add --script script.py requests。项目:存在 pyproject.toml 或 uv.lock 时使用,uv init 新建项目,uv add requests 添加依赖,uv remove requests 移除依赖,uv sync 按锁文件安装,uv run <command> 在环境中执行命令,uv run python -c "" 在项目环境运行 Python,uv run -p 3.12 <command> 指定 Python 版本运行。工具:无需安装即可运行命令行工具,uvx <tool> <args>,uvx <tool>@<version> <args>。uvx 会按包名从 PyPI 运行工具,这可能不安全,只应运行知名工具;仅在用户明确要求时才使用 uv tool install。

pip 接口:用于 requirements.txt 等遗留工作流或无 uv.lock 的手动环境管理,uv venv、uv pip install -r requirements.txt、uv pip compile requirements.in -o requirements.txt、uv pip sync requirements.txt;平台无关解析可用 uv pip compile --universal requirements.in -o requirements.txt。除非确实需要,否则不要使用 pip 接口,不要引入新的 requirements.txt,新项目优先用 uv init。

迁移对照:pyenv 到 uv python(如 pyenv install 3.12 对应 uv python install 3.12);pipx 到 uvx(pipx run ruff 对应 uvx ruff);pip 与 pip-tools 到 uv pip(pip install package 对应 uv pip install package);virtualenv .venv 对应 uv venv。常见规范:uv 项目中不用 pip、不直接运行 python、不手动管理虚拟环境,改用 uv add、uv run 等。详细资料见官方文档 https://docs.astral.sh/uv/llms.txt。