UV 管理工具
UV管理介绍
基本信息
- UV(全称 Universal Virtual)是由 Astral 团队基于 Rust 语言开发的下一代 Python 包管理工具,旨在替代传统工具链(如 pip、virtualenv、poetry 等),提供 一站式解决方案。其核心目标是通过 极速性能 和 功能集成,解决 Python 开发中的依赖管理、环境隔离、多版本切换等痛点。
核心特点
1、极速性能
- 基于 Rust 开发,依赖解析速度比传统工具(如 pip)快 10-100 倍,尤其在安装大型包(如 PyTorch、NumPy)时仅需几秒
2、功能高度集成
- 整合了 pip、virtualenv、poetry、pyenv、pipx、twine 等工具,提供一站式解决方案
- 支持虚拟环境管理、依赖锁定、Python 版本控制、脚本运行、工具安装及包发布
3、统一的锁文件与工作区
- 通过 uv.lock 文件精确锁定依赖版本,确保开发、测试和生产环境的一致性
- 支持 Cargo 风格的工作区(Workspaces),便于管理多模块项目
4、跨平台支持
- 兼容 macOS、Linux 和 Windows 系统,无需预装 Rust 或 Python 即可安装
安装方法
1、脚本安装
# Linux/macOS
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
安装后自动添加环境变量
2、通过 pip 安装
pip install uv
支持 uv self update 命令升级
3、使用 pipx 隔离安装
pipx install uv --pip-args="--index-url https://pypi.tuna.tsinghua.edu.cn/simple"
避免依赖冲突
基础功能
1、虚拟环境管理
# 创建并激活环境
uv venv .venv
source .venv/bin/activate # Linux/macOS
.venv\Scripts\activate # Windows
# 指定 Python 版本创建环境
uv venv --python 3.11 .venv-3.11
支持自动下载缺失的 Python 版本
2、依赖管理
# 安装单个包
uv pip install numpy
# 批量安装 requirements.txt
uv pip install -r requirements.txt
# 生成锁文件
uv pip compile pyproject.toml -o requirements.lock
支持通过 --index-url 指定国内镜像源加速
3、Python 版本控制
- 自动下载和管理多版本 Python,并通过 uv python use
切换版本
4、脚本运行与工具安装
# 运行脚本(自动安装依赖)
uv run script.py --inline "dependencies=['pandas']"
# 全局安装 CLI 工具(类似 pipx)
uv tool install ruff
支持内联依赖声明
高级特性
1、全局缓存机制
- 通过全局缓存去重依赖项,减少磁盘占用和重复下载时间
2、兼容性设计
- 提供与 pip 完全兼容的 CLI 接口,可直接替换 pip 命令
3、企业级场景适配
- 在 CI/CD 流水线中依赖安装速度提升 10 倍以上,显著缩短构建时间
适用场景
- 大型项目:依赖复杂、需快速安装和版本锁定的场景
- 多工具链整合:希望简化 Python 开发工具链的团队
- 跨团队协作:需通过锁文件保证环境一致性的分布式开发
通过上述功能,uv 已成为 Python 生态中高效、现代的包管理工具,尤其适合追求性能和工具链简化的开发者。

浙公网安备 33010602011771号