uv:一个 Python 包管理器,比 pip 快 100 倍
uv:一个 Python 包管理器,比 pip 快 100 倍
uv 在 GitHub 上已经拿到 85,877 Star 了。
Astral 团队用 Rust 写了这个工具。它把 pip、pip-tools、poetry、pyenv 这些工具的功能整合到了一起,而且快了一个数量级。
1、它到底能干什么
一句话:管理 Python 项目里所有跟包和环境相关的事。
创建虚拟环境、安装依赖、锁定版本、运行脚本、管理 Python 版本、发布包……以前需要七八个工具配合的事,现在一个 uv 全搞定了。

2、为什么要换到 uv
用过 pip 的人都知道那种等待。装一个包,Resolver 跑半天,装完发现版本冲突,删了重来。大型项目的依赖解析经常以分钟计。
uv 用 Rust 重写了整个链路。依赖解析 10 到 100 倍提速,warm cache 下装 Trio 的依赖,pip 还在读 metadata,uv 已经跑完了。
不只是快。uv 的 lockfile 是跨平台的,macOS 上生成的锁文件可以直接在 Linux CI 上用。全局缓存机制让同一台机器上的多个项目共享依赖,磁盘占用大幅减少。

3、核心功能
项目管理。 uv init 初始化项目,uv add 加依赖,uv lock 生成锁文件,uv sync 同步环境。和 poetry 的体验类似,但解析速度快了几十倍。
脚本运行。 给单个 Python 文件声明依赖,uv run example.py 自动创建隔离环境跑起来。不用为一个小脚本建整个项目结构。
工具安装。 uvx pycowsay 直接跑临时工具,uv tool install ruff 全局安装。替代 pipx 的用法,但装包阶段同样有速度优势。
Python 版本管理。 uv python install 3.12 3.13 3.14 一键装多个版本,uv python pin 3.11 锁定当前目录使用的版本。pyenv 的活它也干了。
pip 兼容模式。 如果暂时不想切换工作流,uv pip compile 和 uv pip sync 直接替代 pip-tools 的用法,命令行参数基本一致,速度翻倍。
4、安装
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# 或者用 pip
pip install uv
不需要预装 Rust,不需要特定 Python 版本。装完就能用,uv self update 升级到最新版。
5、适合谁用
Python 开发者,尤其是项目中同时用 pip、poetry、pyenv 多个工具的人。换到 uv 以后,依赖管理从几分钟变成几百毫秒,工作流的摩擦感会明显下降。
另外,Astral 这个团队也是 Ruff 的作者。Ruff 在 Python linting 领域已经是事实标准了,uv 走的是同一条路:用 Rust 重写 Python 生态里的基础工具,把速度推到上限。
领域已经是事实标准了,uv 走的是同一条路:用 Rust 重写 Python 生态里的基础工具,把速度推到上限。
更多推荐

所有评论(0)