ToolBox
返回开源工具列表
uv:比 pip 快 10 倍的 Python 包管理器

uv:比 pip 快 10 倍的 Python 包管理器

Rust 重写的 Python 包管理工具,安装依赖几秒搞定,自带虚拟环境管理。实测在旧服务器上装 numpy 不到 3 秒

2026年7月28日4 分钟Python · 包管理器 · Rust · 开发工具

是什么

uv 是 Astral 团队用 Rust 写的 Python 包管理器,Astra 同团队出品了 Ruff(那个比 Flake8 快 100 倍的 linter)。

一句话:把 pip、pip-tools、virtualenv 三个东西塞进一个二进制文件,速度乘 10。

装一下

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows PowerShell
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

# 或者用 pip 自举
pip install uv

装完后 uv --version 看一眼版本就行。

常用场景

1. 替代 pip install

# 跟 pip 一样用
uv pip install requests

# 从 requirements.txt 装
uv pip install -r requirements.txt

在我的阿里云 2 核服务器上装 numpy:

工具 耗时
pip ~18s
uv 2.8s

差距在装带 C 扩展的包(numpy、pillow、cryptography)时特别明显,uv 的依赖解析和下载都是并行跑。

2. 替代 virtualenv

# 创建虚拟环境
uv venv

# 指定 Python 版本(前提装过)
uv venv --python 3.12

# 激活跟平时一样
source .venv/bin/activate  # Linux/Mac
.venv\Scripts\activate     # Windows

python -m venv 快在不需要重复解析,而且创建完可以直接用 uv pip install 装包,不需要先激活。

3. 替代 pip-tools(锁定版本)

# 从 pyproject.toml 生成锁文件
uv pip compile pyproject.toml -o requirements.txt

# 从当前环境导出
uv pip freeze > requirements.txt

4. uv run(最爽的功能)

# 不用装,直接跑一个命令行工具
uv run ruff check .

# 甚至可以直接跑一个包的 cli
uv run --with cowsay cowsay "uv rocks"

这个对 CI 环境特别有用——不用提前 pip install,工具自动下载缓存。

适合谁

  • Python 新手:一个命令搞定 venv + pip,不用记两套
  • CI/CD:构建速度明显提升(尤其是 Docker build 里装依赖)
  • 旧服务器:内存小 CPU 弱,uv 的并行下载和缓存能省不少时间
  • 从 Node.js 转来的:uv 的体验更接近 npm/pnpm,而非传统 pip 的繁琐

不适合谁

  • 必须用 conda 的环境(uv 不替代 conda 的环境管理)
  • 企业内部强管控 pip 镜像源的(uv 默认 PyPI,虽然也能配)

和本站工具的关联

写 Python 脚本处理 JSON 时,uv 装依赖特别快。配合本站的 JSON 格式化Unicode 转义 工具,本地调试接口数据效率拉满。


小结

uv 不是一个"也许有用"的东西——它是一个装了就回不去的东西。Rust 重写的 Python 工具链正在成为新的基础设施标准(ruff → mypy、uv → pip、pydantic → pydantic-core)。

装一下 3 分钟,以后每次 pip install 都能省时间。