uv: 重新定义 Python 包与项目管理
在 Python 开发中,开发者常常需要依赖 pip
、virtualenv
、pyenv
等一系列工具来管理包、虚拟环境和不同的 Python 版本。这种多工具并存的局面往往导致工作流程耗时且复杂。uv
的出现,旨在通过结合极高的速度、简洁的设计和强大的可扩展性,彻底改变 Python 项目的工作流,而这一切都得益于其底层 Rust 语言带来的卓越性能。
什么是 uv?
uv
是一个基于 Rust 构建的,用于 Python 的极速包和项目管理器。它的核心目标是替代并统一当前 Python 生态中广泛使用的 pip
、pip-tools
、pipx
、poetry
、pyenv
和 virtualenv
等工具,提供一个单一且强大的命令行接口。uv
由知名 Python 代码检查工具 Ruff 的开发团队 Astral 倾力打造,致力于推动 Python 开发体验的现代化进程。
为什么选择 uv?
uv
最引人注目的特质无疑是其令人难以置信的速度。基准测试结果表明,它在安装包方面的速度比 pip
快 10 到 100 倍,如果启用缓存,速度甚至可以提升高达 115 倍。这种速度提升不仅仅是数字上的突破,它代表了对 Python 环境和依赖项处理方式的根本性革新。
通过 uv
,Python 开发者可以体验到:
- 更快、更智能的
pip
兼容接口:无缝衔接现有pip
工作流,但效率更高。 - 统一的依赖管理:通过通用锁文件 (
lock file
) 有效管理项目和脚本的依赖。 - 内置的全面支持:原生支持脚本、工具和版本化的 Python 环境。
- 命令行工具的灵活安装:支持临时或永久安装命令行工具。
- 高效的全局缓存:通过共享缓存机制,显著减少磁盘占用,提升重复操作的速度。
- 跨平台兼容性:在 macOS、Linux 和 Windows 等主流操作系统上均可无缝运行。
所有这些强大的功能都被集成在一个单一的工具中,并且可以通过 pip
、pipx
或独立的安装器进行安装,甚至支持自我更新,极大地简化了安装和维护流程。
安装与使用
uv
提供了多种便捷的安装方式,其中独立安装是官方推荐的方式,因为它不依赖于已有的 Python 环境,确保了最高的灵活性和性能。
独立安装(推荐)
# 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 或 pipx 安装
如果您已经有 Python 环境并习惯使用 pip
或 pipx
,也可以通过它们安装 uv
:
pip install uv
# 或者
pipx install uv
使用 uv 创建虚拟环境
uv
能够极速创建 Python 虚拟环境,相比传统工具性能显著提升:
uv venv
使用 uv 安装 Python 包
安装 numpy
和 pandas
等常用库:
uv add numpy pandas
Python 版本管理
uv
不仅仅是一个包管理器,它也具备类似 pyenv
的 Python 版本管理能力,让您可以在不同项目间轻松切换 Python 版本:
# 安装特定版本的 Python
uv python install 3.10 3.11 3.12
# 使用指定版本的 Python 创建虚拟环境
uv venv --python 3.12.0
# 为当前目录锁定 Python 版本
uv python pin 3.11
uv
在 macOS、Linux 和 Windows 上均可无缝运行,并为大型项目提供 Workspace 支持,通过全局缓存进一步减少磁盘使用。无论您是 Python 初学者、经验丰富的开发者,还是企业团队,uv
都能带来显著的效率提升。
关于 uv 的常见问题
-
什么是 uv?
uv
是一个快速、基于 Rust 的 Python 包安装器和解析器。它被设计为pip
和pip-tools
的直接替代品,提供闪电般的性能和简化的包管理体验。 -
uv 与 pip 或 pip-tools 有何不同?
uv
比pip
更快,在使用缓存时速度可达 115 倍。与pip
不同,它作为一个单一的静态二进制文件发布,不依赖于 Python 解释器即可运行,并将虚拟环境创建、依赖项解析等功能集成于一个工具之中。 -
uv 能否替代 virtualenv 和 venv? 是的。
uv
的uv venv
命令创建虚拟环境比python -m venv
快 80 倍,比virtualenv
快 7 倍,并且无需预先安装 Python 即可使用。 -
uv 是否与现有工具兼容? 是的。
uv
的设计理念就是兼容pip
、pip-tools
和requirements.txt
等现有工作流。您可以直接使用:uv pip install
uv pip compile
uv pip sync
-
uv 支持哪些平台?
uv
支持 Linux、macOS 和 Windows 操作系统,并已针对公共 PyPI 索引进行了广泛测试。
结论
无论是您是 Python 的初学者,还是需要管理复杂的多版本开发环境,uv
都能极大地简化您的工作。它快速、灵活,涵盖了从依赖管理、虚拟环境创建到项目发布和 Python 版本管理的所有方面。如果您曾觉得 pip
、virtualenv
或 poetry
在某些方面有所限制,那么强烈建议您尝试 uv
——一旦体验其速度与便捷,您很可能就不会再想回到过去。
关于
关注我获取更多资讯

