2026最新Python uv包管理工具教程:替代pip,安装速度提升百倍

uv 是 Astral 团队用 Rust 开发的 Python 包管理工具,定位是替代 pip、pip-tools 和 virtualenv。它的核心卖点是快——比 pip 快 10 到 100 倍。如果你经常被 pip 安装速度折磨,或者管理多个 Python 项目的依赖感到头疼,uv 值得了解一下。

uv 是什么

uv 不只是另一个包管理器。Astral 团队的野心是做一个”Python 的 Cargo”——统一管理 Python 项目的依赖安装、虚拟环境、Python 版本和项目脚本。

uv 的主要能力包括:

  • 包安装:替代 pip,支持 PyPI 上的所有包
  • 虚拟环境:替代 venv/virtualenv,创建速度极快
  • Python 版本管理:替代 pyenv,自动下载和管理多个 Python 版本
  • 项目管理:替代 poetry/pipenv,管理项目依赖和脚本
  • 工具运行:替代 pipx,直接运行 CLI 工具

安装方法

uv 的安装非常简单,一条命令搞定:

# Linux/macOS
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows (PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

# 如果你有 Python 环境,也可以用 pip 安装
pip install uv

安装完成后,运行 uv --version 确认安装成功。

日常使用场景

1. 管理 Python 版本

# 安装 Python 3.12
uv python install 3.12

# 查看已安装的 Python 版本
uv python list

# 指定项目使用的 Python 版本
uv python pin 3.12

uv 会自动下载并管理 Python 安装,不需要像 pyenv 那样手动编译。

2. 创建虚拟环境

# 创建虚拟环境
uv venv

# 创建指定 Python 版本的虚拟环境
uv venv --python 3.12

# 激活虚拟环境
source .venv/bin/activate  # Linux/macOS
.venv\Scripts\activate     # Windows

uv 创建虚拟环境的速度非常快,通常在 100 毫秒以内。

3. 安装包

# 安装单个包
uv pip install requests

# 从 requirements.txt 安装
uv pip install -r requirements.txt

# 安装开发依赖
uv pip install pytest black ruff

4. 项目管理

# 初始化新项目
uv init my-project

# 添加依赖
uv add requests flask

# 运行项目脚本
uv run python main.py

# 同步所有依赖
uv sync

uv 的项目管理功能类似 npm 或 Cargo,用 pyproject.toml 管理依赖,比 requirements.txt 更结构化。

5. 直接运行 CLI 工具

# 不用安装,直接运行
uvx ruff check .
uvx black --check .
uvx mypy src/

这个功能替代了 pipx,临时用一个工具时不用先安装再卸载。

uv vs pip 速度对比

实测数据(安装 Django 及其依赖):

  • pip:约 15-25 秒(首次安装)
  • uv:约 0.5-1.5 秒

差距主要来自 uv 的 Rust 实现和并行下载。对于大型项目(几十上百个依赖),差距更明显。

注意事项

  • 兼容性:uv 支持绝大部分 PyPI 包,但一些使用复杂构建步骤的包可能有兼容问题
  • 缓存:uv 会缓存已下载的包,首次安装后后续操作更快
  • 团队协作:如果团队里有人还在用 pip,建议在项目文档里注明 uv 的使用方式
  • CI/CD:GitHub Actions 和 GitLab CI 都有现成的 uv 集成方案

总结

uv 是目前 Python 生态里发展最快的包管理工具。如果你的日常工作涉及 Python 开发,从 pip 切换到 uv 能显著提升效率。特别是管理多个项目、频繁创建虚拟环境的场景,uv 的速度优势非常明显。

项目地址:https://github.com/astral-sh/uv

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容