新一代Python管理工具uv:全方位解析与深度探讨
uv 工具全方位介绍
起源与背景
uv 是由 Astral(pipx 作者)团队用 Rust 语言开发的新一代 Python 包和环境管理工具。其目标是解决传统 pip/venv/conda 在依赖解析慢、环境隔离繁琐、命令复杂等方面的痛点,为现代 Python 项目提供极速、自动化、一体化的依赖和环境管理体验。
主要特点
.venv,支持 universal lockfile,支持大型项目工作区(workspaces)。uv并发下载:

安装速度非常快:

安装方法
macOS 和 Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
通过 pip 安装(需已安装 Python)
pip install uv
通过 pipx 安装
pipx install uv
更多安装方式和细节请参考 uv 官方安装文档
常见用法
1. 安装依赖
uv pip install requests
uv pip install -r requirements.txt
2. 运行 Python 脚本
uv run main.py
uv run --python "C:/path/to/python.exe" main.py
3. 查看/管理依赖
uv pip list
uv pip freeze > requirements.txt
uv pip uninstall numpy
4. 自动创建虚拟环境
.venv 环境。如果要制定python 版本, 可以在工程根目录下放一个
.python-version文件, 或者通过命令行指定python 版本。 否则uv会自动选择一个版本下载。5. 解析 pyproject.toml
pyproject.toml、requirements.txt、setup.py 中声明的依赖。常用命令速查表
| 命令 | 说明 |
|---|---|
| uv pip install 包名 | 安装依赖包 |
| uv pip uninstall 包名 | 卸载依赖包 |
| uv pip list | 查看已安装包 |
| uv pip freeze | 导出依赖列表 |
| uv run xxx.py | 在隔离环境中运行脚本 |
| uv run –python 路径 xxx.py | 用指定 Python 运行脚本 |
| uv pip install -r requirements.txt | 按依赖文件安装所有依赖 |
uv 相比 pip 的主要优势
| 对比项 | pip(传统工具) | uv(新一代工具) |
|---|---|---|
| 依赖解析与安装速度 | 较慢,解析和安装大项目依赖时耗时明显 | 极快,Rust 实现,依赖解析和包安装速度大幅领先 |
| 虚拟环境管理 | 需手动用 venv/virtualenv 创建与激活 | 自动为每个项目创建和管理 .venv,无需手动激活 |
| 自动识别依赖文件 | 仅支持 requirements.txt,pyproject.toml 支持有限 | 自动识别 pyproject.toml、requirements.txt、setup.py 等多种格式 |
| 一键运行脚本 | 需手动激活环境再运行脚本 | uv run xxx.py 自动在隔离环境中运行脚本 |
| 命令兼容性 | pip 命令标准 | 兼容 pip 子命令,且功能更丰富 |
| 安装体验 | 依赖冲突、环境不一致可能导致出错 | 自动隔离、自动同步依赖,极大减少环境冲突 |
| 包缓存 | 支持缓存,但多环境间仍需重复安装 | 高效缓存,自动重用已下载包,提升多项目间安装速度 |
| 跨平台支持 | 良好 | 同样良好 |
总结
适用场景
参考资料
作者:leo0308