uv 是用 Rust 编写的 Python 包管理工具,速度极快,集成了 Python 版本管理、虚拟环境、包管理等功能,可替代 pyenv + pip + venv。
安装
Linux / macOS
curl -LsSf https://astral.sh/uv/install.sh | sh安装完成后重启终端,或执行:
source ~/.bashrc # bashsource ~/.zshrc # zshWindows 10
方式一:PowerShell(推荐)
以管理员身份打开 PowerShell,执行:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"方式二:winget
winget install --id=astral-sh.uv -e方式三:pip 安装
pip install uv安装完成后重启终端,验证安装:
uv --versionWindows 上
uv run激活虚拟环境的命令略有不同:
> .venv\Scripts\activate>Python 版本管理
# 查看所有可用版本uv python list# 安装指定版本uv python install 3.12# 同时安装多个版本uv python install 3.11 3.12 3.13# 固定当前项目使用的 Python 版本(写入 .python-version)uv python pin 3.12项目管理
初始化项目
uv init myprojectcd myproject会自动生成:
myproject/├── .venv/├── pyproject.toml├── .python-version└── main.py依赖管理
# 添加依赖(自动写入 pyproject.toml)uv add requests# 添加多个依赖uv add fastapi numpy pandas# 添加开发依赖uv add pytest --dev# 移除依赖uv remove requests# 同步依赖(类似 npm install,按 pyproject.toml 安装所有包)uv sync运行脚本
# 直接运行(无需手动激活虚拟环境)uv run main.py# 运行命令uv run pytestuv run python -c "import sys; print(sys.version)"虚拟环境
# 创建虚拟环境(默认生成 .venv/)uv venv# 指定 Python 版本uv venv --python 3.11# 手动激活(也可以直接用 uv run 跳过这步)source .venv/bin/activate# 退出虚拟环境deactivatepip 兼容模式
兼容原有 pip 工作流,适合迁移老项目:
uv pip install requestsuv pip install -r requirements.txtuv pip uninstall requestsuv pip listuv pip freeze典型工作流
新项目
uv init myappcd myappuv add fastapi uvicornuv run main.py接手老项目
git clone https://github.com/xxx/projectcd projectuv sync # 一键安装所有依赖uv run main.py替代 pip + venv 的传统流程
# 以前python3 -m venv .venvsource .venv/bin/activatepip install requests# 现在uv venvuv pip install requests# 或更推荐uv add requests常用命令速查
| 命令 | 说明 |
|---|---|
uv init <name> |
初始化新项目 |
uv add <包名> |
添加依赖 |
uv remove <包名> |
移除依赖 |
uv sync |
同步安装所有依赖 |
uv run <脚本> |
运行脚本 |
uv venv |
创建虚拟环境 |
uv pip install <包名> |
pip 兼容模式安装 |
uv python install <版本> |
安装 Python 版本 |
uv python list |
查看可用 Python 版本 |
uv python pin <版本> |
固定项目 Python 版本 |
与其他工具对比
| 功能 | uv | pip + venv | conda | poetry |
|---|---|---|---|---|
| 速度 | ⚡ 极快 | 慢 | 慢 | 中 |
| Python 版本管理 | ✅ | ❌ | ✅ | ❌ |
| 虚拟环境 | ✅ | ✅ | ✅ | ✅ |
| 依赖锁定 | ✅ | ❌ | ✅ | ✅ |
| pip 兼容 | ✅ | ✅ | 部分 | 部分 |
| 非 Python 依赖 | ❌ | ❌ | ✅ | ❌ |