跳转至

UV---新一代Python包管理工具

UV是由Astral公司(Rust工具Ruff的开发者)推出的高性能Python包管理工具,基于Rust编写,旨在替代传统的pip和pip-tools。其核心优势在于极快的速度(比pip快10-100倍)、轻量级设计(仅几十MB)以及现代化的依赖管理(支持pyproject.toml和uv.lock文件)。UV集成了虚拟环境管理、Python版本控制、依赖解析等功能,目标是成为类似Rust Cargo的全能工具,简化Python开发流程。

安装

独立安装(无需 Python 环境)

PowerShell
irm https://astral.sh/uv/install.ps1 | iex
Bash
curl -LsSf https://astral.sh/uv/install.sh | sh

​通过 pip 安装​(已有 Python 环境)

Bash
pip install uv

创建新项目

连带创建项目目录:

Bash
uv init my_project --python 3.13  
其中--python参数指定项目使用的Python版本。

在已存在的项目目录中添加uv工具:

Bash
uv init -p 3.13
其中-p参数指定项目使用的Python版本,是--python的简写。

创建并激活虚拟环境

PowerShell
uv venv --python 3.13 .venv 
.venv\Scripts\activate
Bash
uv venv --python 3.13 .venv 
source .venv/bin/activate

事实上,在通过uv add <package_name>命令添加时,如果不存在.venv文件夹,uv会自动创建。

此外,可以通过

Bash
uv run <python_script>
命令直接运行Python脚本,uv会自动激活虚拟环境。

安装/切换Python版本

Bash
uv python install 3.12    # 下载指定版本
uv python use 3.12

管理依赖

安装依赖

Bash
uv add requests   # 声明式依赖管理
uv pip install requests  # 兼容传统pip

移除依赖

Bash
uv remove requests
uv pip uninstall requests

查看依赖关系

Bash
1
2
3
uv pip show pandas    # 查看包详情
uv pip check          # 检查依赖冲突
uv tree               # 可视化依赖关系

生成依赖版本文件

Bash
uv pip compile pyproject.toml -o requirements.txt  # 生成确定性依赖版本文件

批量安装依赖

兼容pip的安装方式:

Bash
uv pip install -r requirements.txt
uv的声明式安装方式(推荐):
Bash
uv add -r requirements.txt

修复/更改依赖环境

Bash
1
2
3
4
5
6
7
8
# 修改 pyproject.toml 后同步环境
uv sync

# 强制重建虚拟环境(忽略现有缓存)
uv sync --clean

# 仅更新指定依赖(如升级 pandas)
uv sync --upgrade-package pandas

出现网络问题时切换镜像源

Bash
uv add --default-index https://pypi.tuna.tsinghua.edu.cn/simple <package_name>