用途:uv 是极快的 Python 包与项目管理器,用于替代 pip、pip-tools、pipx、pyenv、virtualenv、poetry 等。当项目中出现 uv.lock 文件,或 requirements 文件带有 uv 生成标记时,应使用 uv;由其他工具管理的项目(如含 poetry.lock 的 Poetry 项目、含 pdm.lock 的 PDM 项目)则不要使用 uv。
主要能力与用法:脚本场景用 uv run script.py 运行脚本,uv run --with requests script.py 附带依赖运行,uv add --script script.py requests 内联添加依赖。项目场景(存在 pyproject.toml 或 uv.lock)用 uv init 新建项目,uv add/remove 增删依赖,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 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(install/list --only-installed/pin/install --default);pipx 对应 uvx 与 uv tool(install/upgrade/list);pip 与 pip-tools 对应 uv pip(install/freeze/compile/sync),virtualenv 对应 uv venv。
常见约定:uv 项目中不要用 pip,改用 uv add;不要直接运行 python,改用 uv run;不要手动创建和激活虚拟环境,改用 uv run <command>。
限制:资料未提供 uv 的收费、价格、平台支持范围与性能数据,暂未提供。详细文档见 https://docs.astral.sh/uv/llms.txt。