python的uv工具
概述
uv 是由 Astral 团队(也是高速 Python Linter 工具 Ruff 的开发者)推出的一款新一代 Python 项目管理工具。
它基于 Rust 语言编写,旨在解决传统 Python 工具链(如 pip、virtualenv、poetry、pyenv、pipx 等)速度慢、功能分散的问题。uv 被设计为“Python 界的 Cargo”(Rust 的包管理器),提供了一个极速、统一且现代化的开发体验。
核心特点
- 极速性能:得益于 Rust 底层,uv 的依赖解析和包安装速度比
pip快 10 到 100 倍。 - 全能集成:一个工具替代了多个传统工具:
- 替代
pip/pip-tools:管理依赖安装与锁定。 - 替代
virtualenv/venv:管理虚拟环境。 - 替代
pyenv:管理 Python 解释器版本(自动下载和切换)。 - 替代
pipx:安装和运行全局 Python 工具。 - 替代
twine/build:构建和发布包。
- 替代
- 开箱即用:无需预先安装 Python 即可运行 uv,它会自动管理所需的 Python 版本。
- 兼容性强:完全兼容现有的
requirements.txt和pyproject.toml标准。
如何安装 uv
uv 提供了多种安装方式,最简单的是使用官方安装脚本(支持 Linux/macOS/Windows):
Linux / macOS:
1 | |
Windows (PowerShell):
1 | |
使用 pip 安装 (如果已有 Python 环境):
1 | |
使用 Homebrew (macOS/Linux):
1 | |
安装完成后,运行 uv --version 验证安装。
如何使用 uv (常用场景)
1. 初始化新项目
创建一个包含标准结构(pyproject.toml, .python-version, 虚拟环境)的新项目:
1 | |
这会自动创建虚拟环境并生成配置文件。
2. 管理依赖 (替代 pip)
添加依赖包(自动更新 pyproject.toml 和 uv.lock):
1 | |
添加开发依赖:
1 | |
移除依赖:
1 | |
同步环境(根据锁文件安装确切版本):
1 | |
3. 运行脚本 (无需手动激活虚拟环境)
直接运行脚本,uv 会自动在隔离环境中执行:
1 | |
或者运行一行命令:
1 | |
4. 管理 Python 版本 (替代 pyenv)
查找可用的 Python 版本:
1 | |
安装特定版本的 Python:
1 | |
为当前项目指定 Python 版本(会在 .python-version 文件中记录):
1 | |
5. 运行全局工具 (替代 pipx)
安装并运行全局命令行工具(如 ruff, httpie 等):
1 | |
6. 构建与发布 (替代 build/twine)
构建项目分发包:
1 | |
发布到 PyPI:
1 | |
7. 兼容传统 requirements.txt
如果你习惯使用 requirements.txt,uv 也完美支持:
1 | |
总结
对于 2025-2026 年的 Python 开发者来说,uv 已经成为首选工具。它不仅极大地缩短了等待依赖安装的时间,还通过统一的命令简化了工作流,让开发者不再需要在 venv、pip、poetry 和 pyenv 之间来回切换。
建议起步命令:
1 | |