菜单

功能概览

相关源文件

本文档按功能领域组织,描述了 uv 的主要功能和能力。uv 被设计为一个统一的 Python 包和项目管理器,取代了包括 pippip-toolspipxpoetrypyenvvirtualenv 等在内的多个现有工具。

有关底层系统架构的详细信息,请参阅 系统架构。有关特定子系统的实现细节,请参考 核心系统 文档。

功能分类

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,但具有增强的缓存和版本管理功能。

执行 vs 安装

方法命令环境用例
临时uvx <tool>uv tool run临时,已缓存一次性工具使用
持久uv tool install <tool>专用,永久常规工具使用

工具环境管理

来源:docs/guides/tools.md13-31 docs/concepts/tools.md24-41 README.md150-186

Python 版本管理

uv 可以安装和管理 Python 解释器,无需 pyenv 等外部工具。

Python 发行版来源

实现来源平台
CPythonpython-build-standalonemacOS, Linux, Windows
PyPyPyPy 项目发布macOS, Linux, Windows
GraalPyGraalVM 发布有限的平台

版本发现和选择

来源:docs/concepts/python-versions.md240-263 docs/guides/install-python.md15-83 README.md188-228

Pip 接口

uv 提供了常用 pippip-toolsvirtualenv 命令的即插即用替代品,性能得到显著提升。

命令映射

pip/pip-toolsuv 对应命令目的
pip installuv pip install安装包
pip-compileuv pip compile生成 requirements.txt
pip-syncuv pip sync安装精确的需求
virtualenvuv 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)
  • 并行下载:并发的包获取和构建
  • Wheel 重用:跨项目和环境的缓存 Wheel
  • Rust 实现:原生速度,无 Python 开销

通用锁定文件

uv.lock 格式提供了:

  • 跨平台:适用于 macOS、Linux、Windows
  • 依赖解析:精确的版本和冲突解决
  • 源信息:包来源 (PyPI、Git、本地)
  • 环境隔离:项目特定的依赖树

来源:README.md28 docs/index.md21 docs/guides/projects.md106-116

命令-功能矩阵

来源:README.md88-271 docs/index.md61-241