用途:uv 用一个命令行替代整套 Python 工具链,涵盖包管理、项目管理和 Python 版本管理。它面向项目工作:项目由 pyproject.toml、提交的通用 uv.lock(跨平台、跨系统解析)和自动管理的 .venv 组成,常用命令会自动同步环境。
主要能力:uv 可替代 pip(uv pip install、项目内 uv add)、pip-tools(uv pip compile/sync 或 uv lock/sync)、pipx(uv tool install/uvx)、poetry/pdm(uv init/add/sync/lock/run/build/publish + uv.lock)、pyenv(uv python install/pin/list)与 virtualenv(uv venv)。它提供四个界面:项目(推荐)、PEP 723 内联元数据脚本、工具(uvx 临时运行、uv tool install 持久安装)、Python 版本(从 python-build-standalone 下载管理 CPython)。另有独立的 uv pip 界面,作为 pip/pip-tools 的快速近似替代,但默认平台相关,不修改 pyproject.toml 或 uv.lock。
使用方式:安装可用 curl -LsSf https://astral.sh/uv/install.sh | sh(macOS/Linux)、PowerShell 安装脚本,或 pip install uv、pipx install uv、brew install uv。先运行 uv --version 确认版本。典型流程:uv init demo --python 3.13;cd demo;uv add requests;uv run python -c "..."。脚本可直接 uv run demo.py,工具用 uvx ruff check . 或 uv tool install ruff,Python 用 uv python install 3.12 3.13 和 uv python pin 3.12,虚拟环境用 uv venv。CI 中用 uv sync --frozen、uv lock --check、uv run --frozen pytest,并注意 --frozen/--locked 位于消费命令上,uv lock 本身用 --check/--check-exists。
适用场景与限制:适合新项目、从 pip 迁移、一次性 CLI 工具、脚本依赖声明与 CI 锁定。uv 是 CLI,不是 MCP/智能体服务器;ruff 与 ty 是独立 Astral 工具,uv format 包装 ruff format、uv check 包装 ty check,两者均为预览功能。该资料针对 uv 0.12.x 记录,uv 处于 0.x,破坏性变更出现在次版本;0.12.0 改动包括 uv init 默认打包、--prerelease 默认值变化、uv venv --clear 与 --project 更严格。uv format、uv check、uv audit 仍为预览,不应依赖其稳定性。其他功能、收费或平台信息暂未提供。