uv 是 Astral 公司开发的一款用 Rust 语言编写的 Python 包和项目管理器。其核心团队包括 Ruff 的创建者 Charlie Marsh。该项目自 2024 年初启动,旨在解决 pip 和 poetry 等传统工具在速度上的瓶颈。目前 uv 支持 macOS、Linux 和 Windows,是一个在 GitHub (astral-sh/uv) 上开源的活跃项目。
uv 的核心优势
为什么越来越多的 Python 开发者考虑从 pip 或 poetry 切换到 uv?关键在于其底层架构带来的性能飞跃。
- Rust 赋能:采用 Rust 编写使得 uv 在依赖解析和安装时能够充分利用多核处理能力,避免了纯 Python 工具在复杂场景下容易出现的性能下降问题。
- 持续迭代:uv 从 2024 年 2 月发布首个版本以来,保持着高频更新。截至 2025 年底已发布 0.9.21 版本,持续修复问题并改进体验。
- 社区认可:根据 GitHub 数据,uv 已获得超过 7.6 万星标,被超过 1.2 万个项目所依赖,拥有超过 500 位贡献者。2025 年其采用率增长显著,包括 Apache Airflow 在内的众多知名项目均已集成。
uv 与 pip/poetry 功能对比
下面的对比表格综合了 uv 官方文档及社区开发者的实测反馈,可以直观地看出差异:
| 特性 |
uv |
pip |
poetry |
| 基础架构 |
Rust 原生 |
Python 原生 |
Python 原生 |
| 安装速度 |
10-100 倍更快 |
标准速度 |
中等,通常比 pip 慢 |
| 依赖解析 |
PubGrub 算法,快速且一致 |
内置解析器 |
内置,但有时较慢 |
| 虚拟环境 |
内置创建和管理 |
需要配合 venv |
内置,但加载较慢 |
| 项目管理 |
uv init/add/lock/sync |
无原生项目命令 |
poetry new/add/export |
| 工具安装 |
uv tool install |
需使用 pipx |
无原生支持 |
| Python 版本管理 |
uv python install |
需 pyenv 或手动 |
支持有限 |
| 资源占用 |
低,适合大型项目 |
中等 |
较高,内存易超 |
如何安装与使用 uv?
在 Windows 上通过 Winget 安装(推荐)
对于 Windows 10/11 用户,使用系统自带的包管理器 winget 是最简单的方式,可以避免脚本执行策略等问题。
- 打开 PowerShell(管理员或普通权限均可)。
- 运行以下命令:
winget install uv

- 安装完成后,在终端中直接输入
uv 命令即可使用。
在 PyCharm 中集成 uv
在 IDE 中直接使用 uv 管理项目依赖和虚拟环境,能获得无缝的开发体验。
创建新项目时直接使用 uv(推荐)
File → New Project
- 在
Location 设置项目路径(例如 D:\projects\myapp)
- 在
Python Interpreter 区域:
- 如果系统已安装 uv,下拉菜单中通常会出现
uv 选项。
- 选择
uv。
- 在
Python version 下拉框中选择所需版本(如 3.12、3.13)。
- 如果本地没有该版本,PyCharm 会自动调用
uv 下载并安装(通常只需几秒到一分钟)。
- 点击
Create。
PyCharm 会自动完成以下操作:
- 使用 uv 创建并管理
.venv 虚拟环境。
- 生成
pyproject.toml 项目配置文件。
- 生成
uv.lock 锁文件以确保依赖一致性。


至此,新项目已完全交由 uv 管理,后续的依赖安装速度将显著提升。
速度体验对比
你可以通过一个简单的包安装来直观感受速度差异:
- 传统 pip:
pip install requests。在冷缓存(首次下载)情况下,通常需要 5-15 秒完成下载和安装。
- uv:
uv add requests 或 uv pip install requests。通常能在 1 秒内 完成,若缓存已预热,甚至可以达到毫秒级响应。
对于拥有复杂依赖图的大型项目,uv 采用的先进 PubGrub 依赖解析算法 所带来的速度优势会更加明显。
总结
uv 凭借其由 Rust 带来的极致速度、现代化的项目管理功能以及对开发工具的友好集成,正在成为 Python 包管理领域一个强有力的新选择。如果你目前是 pip 或 poetry 的用户,不妨花一周时间试用 uv,亲身感受其在日常开发工作流中带来的效率提升。
你可以访问其官网 astral.sh/uv 获取最新的安装指南和详细文档。活跃的社区也能帮助开发者快速解决遇到的问题。无论是为了提升个人效率,还是为团队项目寻求更优的依赖管理方案,uv 都值得一试。
|