用途:uv 是 Astral(Ruff 作者)推出的极速 Python 包与项目管理工具,用 Rust 编写,单个工具即可替代 pip/pip-tools、virtualenv/venv、pyenv、pipx、poetry/pdm、twine 等。
主要能力:比 pip 快 10-100 倍;使用通用锁文件 uv.lock 实现可复现构建;自动管理 Python 版本;内置工具执行(uvx);支持 PEP 723 内联脚本依赖;兼容 pip 命令。
使用方式:安装可用 curl -LsSf https://astral.sh/uv/install.sh | sh(macOS/Linux)、powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"(Windows)、pipx install uv、pip install uv 或 brew install uv。常用命令包括 uv init 新建项目、uv add <pkg> 添加依赖、uv sync 安装依赖、uv run <cmd> 运行命令、uvx <tool> 免安装运行工具、uv python install 3.12 安装 Python、uv lock --upgrade 更新依赖、uv build 构建、uv publish 发布。
适用场景:新项目初始化、依赖管理、CI/CD(如 uv sync --locked)、Docker 构建、从 pip/Poetry/Pipenv/pyenv/conda 迁移,以及脚本内联依赖运行。
限制:uv 不替代 conda 的非 Python 依赖(如 C 库、CUDA)及 Conda 专有包;CI/生产应使用 --locked;不要混用 pip 与 uv 命令;uv.lock 必须提交且不可手动编辑;uv pip install -e . 不会写入锁文件,应改用 uv add --editable;uv tool install 与 uv pip install 环境相互隔离;pyproject.toml 中的 ==X.Y.Z 不构成锁定,仅 uv.lock 生效。官方文档见 https://docs.astral.sh/uv/。