astral-sh/uv
开发工具用 Rust 实现的高速 Python 包与项目管理器,可替代 pip、pipx、poetry、pyenv 等工具。
项目介绍
uv 是用 Rust 编写的 Python 包与项目管理器。它把 pip、pip-tools、pipx、poetry、pyenv、twine、virtualenv 等常用工具的职责合进一个 CLI:解析并安装依赖、管理虚拟环境、安装 Python 解释器、运行发布在 PyPI 上的命令行工具,以及用通用 lockfile 锁定项目依赖(功能亮点)。最突出的特点是速度,项目给出的基准声称安装比 pip 快 10–100 倍;全局缓存会在文件层面做去重,减少多环境下的磁盘占用(缓存文档)。
适用对象是需要管理 Python 依赖的应用、库、脚本或 monorepo 开发者,以及希望用可复现 lockfile 和 Cargo 风格 workspace 组织项目的团队(workspaces)。uv pip 接口提供常见 pip 命令的替代,已有脚本和工作流可以直接迁移,不必重写(pip 接口)。
快速使用
macOS 或 Linux 下用独立安装脚本安装:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows 下使用 PowerShell 安装:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
也可以从 PyPI 安装:pip install uv 或 pipx install uv;独立安装的版本可以用 uv self update 自我更新(安装说明)。安装后创建并运行项目:
uv init example
cd example
uv add ruff
uv run ruff check
uv lock
uv sync
uv init 创建项目,uv add 记录依赖,uv run 在项目环境中执行命令,uv lock 把完整依赖解析结果写入 lockfile,uv sync 让环境与 lockfile 对齐(项目示例)。
同一个可执行文件还覆盖单文件脚本(uv add --script example.py requests 后 uv run example.py)、临时运行工具(uvx pycowsay 'hello world!')、管理 Python 版本(uv python install 3.12 3.13)以及 pip 风格流程(uv pip compile、uv venv、uv pip sync)(脚本、工具、Python 版本、pip 接口)。
使用约束
uv 支持 macOS、Linux 和 Windows(README),具体平台支持范围另有文档说明(平台支持)。README 称 uv 已稳定、可用于生产,并给出版本兼容策略。安装命令会下载并执行远程脚本,这是项目自身的分发方式,运行前应按对待任何安装脚本的习惯进行检查。项目采用 Apache-2.0 或 MIT 双许可证。维护方为 Astral,即 Ruff 和 ty 背后的公司。
HotRepo 点评
uv 在 Hacker News 上讨论量最大的一帖获得 753 分、336 条评论(2025 年 6 月),用户提到在无 root 权限的共享服务器或存储受限的环境中,从 pip、venv 迁移到 uv 的经验(讨论)。讨论也涉及技术权衡:一位 pip 维护者指出,uv 热安装快,部分来自缓存解压后的分发包并做硬链接,代价是在多环境场景下缓存增长更快;2026 年关于 wheel 缓存去重的帖子正是在讨论这个权衡(评论)。榜单方面,uv 在 2026-11-07 的 Rust 日榜新增 133 Star、位列第 10,这与它用 Rust 实现却在 Python 生态广泛使用的情况相符。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。