极快的 Python 包与项目管理器,使用 Rust 编写。

所在地:
美国
语言:
en
收录时间:
2026-08-26

定位与核心优势

uv 是由 Astral 团队开发的 Python 包与项目管理器,底层基于 Rust 构建,核心目标是替代 pip、pip-tools、virtualenv、poetry 等多类工具,提供统一且高速的工作流。根据官方基准测试,其依赖解析与安装速度通常比 pip 快 10–100 倍。

主要功能

1. 极速依赖解析与安装

uv 使用 Rust 重写了依赖解析器和安装逻辑,并采用全局缓存机制,相同版本的包在多个项目间只下载一次。解析流程支持并发与增量更新,显著缩短了 pip install 与 lock 文件生成的时间。

2. 统一的项目管理

uv 以 pyproject.toml 为单一配置来源,整合了以下能力:

  • 虚拟环境自动创建与激活
  • 依赖锁定(uv.lock
  • Python 版本管理(可自动下载指定版本的解释器)
  • 项目构建与发布

这使得从初始化到部署的完整链路可以在一条命令内完成。

3. 兼容现有生态

uv 的命令行接口有意保持与 pip、pip-tools、virtualenv 等工具的高度相似性:

原工具命令 uv 对应命令
pip install requests uv pip install requests
pip freeze uv pip freeze
virtualenv .venv uv venv
pip-tools compile uv pip compile

现有项目通常无需大幅修改即可迁移。

4. 跨平台与性能一致性

uv 提供 Windows、macOS、Linux 的预编译二进制,安装方式包括独立安装脚本、Homebrew、pip 等。由于不依赖 Python 自身运行,启动开销极低,在 CI/CD 场景中优势尤其明显。

适用场景

  • 本地开发:替代 pip + virtualenv 组合,减少环境切换成本
  • CI/CD 流水线:利用缓存与并发安装缩短构建时间
  • 依赖锁定与复现:通过 uv.lock 保证跨机器一致性
  • Python 版本管理:无需手动安装多个解释器

快速开始

# 安装 uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# 创建新项目
uv init my-project
cd my-project

# 添加依赖
uv add requests

# 运行项目
uv run main.py

上述流程会自动创建虚拟环境、写入 pyproject.toml、生成锁文件并安装依赖。

注意事项

uv 仍在快速迭代中,部分高级功能(如构建后端集成)的行为可能与 Poetry 等成熟工具存在差异。建议在引入现有生产项目前,先在隔离环境中验证与当前工作流的兼容性。官方文档提供了详细的迁移指南与命令对照表。

相关导航