本文档按功能领域组织,描述了 uv 的主要功能和能力。uv 被设计为一个统一的 Python 包和项目管理器,取代了包括 pip、pip-tools、pipx、poetry、pyenv、virtualenv 等在内的多个现有工具。
有关底层系统架构的详细信息,请参阅 系统架构。有关特定子系统的实现细节,请参考 核心系统 文档。
uv 的功能分为几个主要的功能类别,每个类别都针对 Python 开发工作流程的不同方面。
来源:README.md24-42 docs/index.md17-33
uv 提供全面的项目管理功能,以 pyproject.toml 和锁定文件为中心,类似于 Poetry 或 Rye 等工具。
| 功能 | 命令 | 目的 |
|---|---|---|
| 项目初始化 | uv init | 创建具有标准结构的新项目 |
| 依赖管理 | uv add, uv remove | 管理项目依赖项 |
| 环境同步 | uv sync | 安装精确的锁定文件依赖项 |
| 锁文件生成 | uv lock | 生成跨平台锁定文件 |
| 命令执行 | uv run | 在项目环境中运行命令 |
| 分发构建 | uv build | 构建 wheel 和源代码分发 |
uv 管理的项目遵循标准布局
来源:docs/guides/projects.md29-66 README.md90-119
uv 提供专门的 Python CLI 工具运行和安装支持,类似于 pipx,但具有增强的缓存和版本管理功能。
| 方法 | 命令 | 环境 | 用例 |
|---|---|---|---|
| 临时 | uvx <tool> 或 uv tool run | 临时,已缓存 | 一次性工具使用 |
| 持久 | uv tool install <tool> | 专用,永久 | 常规工具使用 |
来源:docs/guides/tools.md13-31 docs/concepts/tools.md24-41 README.md150-186
uv 可以安装和管理 Python 解释器,无需 pyenv 等外部工具。
| 实现 | 来源 | 平台 |
|---|---|---|
| CPython | python-build-standalone | macOS, Linux, Windows |
| PyPy | PyPy 项目发布 | macOS, Linux, Windows |
| GraalPy | GraalVM 发布 | 有限的平台 |
来源:docs/concepts/python-versions.md240-263 docs/guides/install-python.md15-83 README.md188-228
uv 提供了常用 pip、pip-tools 和 virtualenv 命令的即插即用替代品,性能得到显著提升。
| pip/pip-tools | uv 对应命令 | 目的 |
|---|---|---|
pip install | uv pip install | 安装包 |
pip-compile | uv pip compile | 生成 requirements.txt |
pip-sync | uv pip sync | 安装精确的需求 |
virtualenv | uv venv | 创建虚拟环境 |
uv 通过附加功能扩展了 pip 接口
--universal 标志用于平台无关的需求来源:README.md230-271 docs/pip/environments.md10-44
uv 支持使用 PEP 723 内联元数据自动管理依赖关系来运行单文件 Python 脚本。
来源:docs/guides/scripts.md148-175 README.md126-148
uv 通过以下方式在性能上比 pip 提升了 10-100 倍:
~/.cache/uv/ (Unix) 或 %LOCALAPPDATA%\uv\cache\ (Windows)uv.lock 格式提供了:
来源:README.md28 docs/index.md21 docs/guides/projects.md106-116