Press "Enter" to skip to content

告别龟速!下一代 Python 包管理器 uv 入门教程

你好,Python 开发者!你是否还在忍受 pip 缓慢的依赖安装速度?是否在 venv, pip-tools, poetry, pyenv 等众多工具中反复横跳,感到心累?

今天,让我们来认识一款可能终结这一切的工具 —— uv

uv 是一个用 Rust 编写的、速度极快的 Python 包和项目管理器。 它的目标是提供一个统一、高效的开发工作流程,取代前面提到的多个工具,让你的 Python 开发体验如丝般顺滑。

这篇教程将带你从零开始,一步步掌握 uv 的核心用法。

✨ 为什么选择 uv?

  • ⚡️ 极致的速度uv 的安装和解析速度比 pip 快 10-100 倍,这得益于其底层的 Rust 实现和智能缓存机制。
  • 一体化解决方案uv 一个工具就集成了 Python 版本管理、虚拟环境、包安装、依赖锁定等多种功能。
  • 无缝兼容:它完全兼容 pip 的命令和 requirements.txt / pyproject.toml 文件。
  • 现代化的项目管理:支持类似 npmcargo 的项目管理方式,通过 uv inituv add 简化工作流。

🚀 第一步:安装 uv

安装 uv 非常简单,官方提供了跨平台的安装方式。

macOS / Linux:

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

Windows (PowerShell):

powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

或者,你也可以通过 pip 来安装:

pip install uv

安装完成后,运行以下命令验证是否成功:

uv --version

🛠️ 第二步:项目初始化与环境管理

忘掉 python -m venv .venv 吧!uv 让环境管理变得前所未有的简单。

1. 初始化一个新项目

让我们从创建一个新项目开始。

# 创建并进入项目目录
uv init my-fast-project
cd my-fast-project

uv init 会为你生成一个 pyproject.toml 文件,这是现代 Python 项目的标配。 同时,它会自动检测并创建一个虚拟环境 .venv

2. 创建和使用虚拟环境

如果你只是想快速创建一个虚拟环境,可以使用 uv venv

# 在当前目录下创建一个名为 .venv 的虚拟环境
uv venv

uv 的绝大多数命令都会自动识别并使用当前目录下的 .venv 环境,你甚至不需要手动 source .venv/bin/activate

📦 第三步:依赖管理(核心功能)

这是 uv 最激动人心的部分。

1. 添加依赖

使用 uv add 来为你的项目添加依赖。uv 会自动将依赖信息写入 pyproject.toml 并安装它。

# 添加单个依赖,例如 FastAPI
uv add fastapi

# 添加开发环境依赖,例如 pytest
uv add pytest --dev

你会发现,即使是像 pandastorch 这样的大型库,安装速度也快得惊人。

2. 同步环境

uv sync 命令会读取 pyproject.tomluv.lock (如果存在),并确保你的虚拟环境和项目定义的依赖完全一致。 这是保证团队成员环境一致性的利器。

# 安装/更新/移除包,使环境与配置文件同步
uv sync

3. pip 兼容命令

如果你对 pip 的命令情有独钟,uv 提供了完全兼容的接口,同时赋予你 uv 的速度。

  • 安装依赖

    # 从 PyPI 安装
    uv pip install "requests>=2.0"
    
    # 从 requirements.txt 文件安装
    uv pip install -r requirements.txt
    
  • 查看已安装的包

    uv pip list
    uv pip freeze
    
  • 卸载包

    uv pip uninstall requests
    

🏃 第四步:运行你的代码

当你需要执行脚本或命令时,使用 uv run 可以确保它在正确的虚拟环境中运行。

# 假设你有一个 main.py 文件
# 使用 uv run 来执行它
uv run python main.py

# 运行测试
uv run pytest

🌲 更多高级用法

uv 的功能远不止于此。

  • 依赖树查看:清晰地看到你的项目依赖关系。

    uv tree
    
  • Python 版本管理uv 甚至可以帮你安装和管理 Python 版本,告别 pyenv

    # 安装 Python 3.12
    uv python install 3.12
    
    # 查看所有可用的 Python 版本
    uv python list
    
  • 全局工具安装:类似 pipx,安全地安装和运行命令行工具。

    # 在隔离环境中运行 black 格式化代码,无需在项目中安装
    uv tool run black .
    
    # 全局安装一个工具
    uv tool install ruff
    

总结

uv 通过提供一个高性能、一体化的工具集,极大地简化了 Python 的开发工作流程。 从项目创建、环境管理到依赖安装和脚本执行,它都提供了无与伦比的速度和便捷性。

是时候给你的 Python 工具箱来一次升级了。拥抱 uv,享受更流畅、更现代的开发体验吧!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注