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 环境)
通过 pip 安装(已有 Python 环境)
创建新项目
连带创建项目目录:
Bash |
---|
| uv init my_project --python 3.13
|
其中--python
参数指定项目使用的Python版本。
在已存在的项目目录中添加uv工具:
其中-p
参数指定项目使用的Python版本,是--python
的简写。
创建并激活虚拟环境
事实上,在通过uv add <package_name>
命令添加时,如果不存在.venv文件夹,uv会自动创建。
此外,可以通过
命令直接运行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 |
---|
| 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 |
---|
| # 修改 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>
|