uv 是由 Astral(也就是开发 ruff 那家公司)出的一款用 Rust 编写的超快 Python 包和环境管理器,2024 年发布以来迅速成为业界新宠,被誉为 "pip + venv + pip-tools + virtualenv + pyenv 的合体替代品"。
一句话定位
Python 工具链的"瑞士军刀":装包、建虚拟环境、管 Python 版本、锁依赖、跑脚本,一条命令全搞定,而且比 pip 快 10~100 倍。
它能干什么(对应替代谁)
| 传统工具 | uv 等价命令 | 干啥 |
|---|---|---|
pyenv install 3.12 | uv python install 3.12 | 装 Python 解释器 |
python3 -m venv .venv | uv venv | 建虚拟环境 |
pip install requests | uv pip install requests | 装包(pip 兼容模式) |
pip install -r requirements.txt | uv pip sync requirements.txt | 同步依赖 |
pip-compile | uv pip compile requirements.in | 锁依赖版本 |
pipx install ruff | uv tool install ruff | 全局装 CLI 工具 |
python script.py | uv run script.py | 自动建临时环境跑脚本 |
为什么火
⚡ 1. 极致速度
| 操作 | pip | uv |
|---|---|---|
| 全新装 50 个包 | 30s+ | ~1s |
| 缓存命中重装 | 几秒 | 几十毫秒 |
得益于:Rust 实现 + 全局缓存 + 并行下载 + 硬链接复用。
🎯 2. 一个工具搞定全套
不再需要装一堆工具(pyenv/pipx/virtualenv/pip-tools...),uv 一个就够。
🔄 3. 跟 pip 100% 兼容
uv pip install xxx、uv pip freeze、uv pip uninstall 用法跟 pip 完全一样,零学习成本。
📦 4. 自带 Python 版本管理
不需要先装 Python,直接:
uv python install 3.12
uv venv --python 3.12
uv 会自动下载对应 Python 解释器(独立预编译版本,不依赖系统)。
安装
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# 或用 brew
brew install uv
# 或用 pip 装(少见)
pip install uv
常用命令速查
# === 环境 ===
uv venv # 在当前目录建 .venv
uv venv --python 3.12 # 指定 Python 版本
source .venv/bin/activate # 激活(跟 venv 一样)
# === 装包(pip 兼容子命令)===
uv pip install requests
uv pip install -r requirements.txt
uv pip uninstall requests
uv pip list
uv pip freeze > requirements.txt
# === 锁依赖 ===
uv pip compile requirements.in -o requirements.txt
uv pip sync requirements.txt # 严格同步(多余的包会卸载)
# === 临时跑脚本(神器)===
uv run --with requests python -c "import requests; print(requests.__version__)"
# 不用激活环境,uv 自动建临时 venv 装好 requests 再执行
# === 项目模式(类似 poetry)===
uv init my-project # 创建项目骨架
uv add requests # 加依赖(自动写 pyproject.toml + 锁文件)
uv remove requests # 移除依赖
uv sync # 按锁文件同步
uv lock # 重新生成锁文件
# === Python 版本 ===
uv python install 3.12 3.11
uv python list
# === 全局工具 ===
uv tool install ruff # 类似 pipx
uv tool run black . # 临时跑
对比一下你之前的命令
之前你想这样做:
cd xxx
python3 -m venv .venv
source .venv/bin/activate
pip install requests python-dotenv
用 uv 一气呵成、还快得多:
cd xxx
uv venv
source .venv/bin/activate
uv pip install requests python-dotenv
或者更现代的项目模式(写到 requirements.txt,自动管锁文件):
uv init # 生成 pyproject.toml
uv add requests python-dotenv
uv run python agents/s01_agent_loop_idealab.py
适合谁
| 场景 | 推荐 |
|---|---|
| 想要又快又省心的 Python 工具链 | ✅ uv |
| 老项目用 pip + venv,没必要换 | 留着 pip 也行 |
| 要严格依赖锁定(生产/CI) | ✅ uv 比 pip 友好 |
| 数据科学(依赖 conda 生态、CUDA) | 还是 conda |
| 写 CLI 工具想全局装 | uv tool install(类 pipx) |
一句话总结
uv是 2024 年 Python 工具链的"颠覆者"——把pip/venv/pyenv/pipx/pip-tools几个工具的活儿用 Rust 重写到一个二进制里,速度提升 10~100 倍,命令兼容旧习惯,新项目无脑用它就对了。