python的uv工具

概述

uv 是由 Astral 团队(也是高速 Python Linter 工具 Ruff 的开发者)推出的一款新一代 Python 项目管理工具

它基于 Rust 语言编写,旨在解决传统 Python 工具链(如 pipvirtualenvpoetrypyenvpipx 等)速度慢、功能分散的问题。uv 被设计为“Python 界的 Cargo”(Rust 的包管理器),提供了一个极速、统一且现代化的开发体验。

核心特点

  1. 极速性能:得益于 Rust 底层,uv 的依赖解析和包安装速度比 pip10 到 100 倍
  2. 全能集成:一个工具替代了多个传统工具:
    • 替代 pip / pip-tools:管理依赖安装与锁定。
    • 替代 virtualenv / venv:管理虚拟环境。
    • 替代 pyenv:管理 Python 解释器版本(自动下载和切换)。
    • 替代 pipx:安装和运行全局 Python 工具。
    • 替代 twine / build:构建和发布包。
  3. 开箱即用:无需预先安装 Python 即可运行 uv,它会自动管理所需的 Python 版本。
  4. 兼容性强:完全兼容现有的 requirements.txtpyproject.toml 标准。

如何安装 uv

uv 提供了多种安装方式,最简单的是使用官方安装脚本(支持 Linux/macOS/Windows):

Linux / macOS:

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

Windows (PowerShell):

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

使用 pip 安装 (如果已有 Python 环境):

1
pip install uv

使用 Homebrew (macOS/Linux):

1
brew install uv

安装完成后,运行 uv --version 验证安装。


如何使用 uv (常用场景)

1. 初始化新项目

创建一个包含标准结构(pyproject.toml, .python-version, 虚拟环境)的新项目:

1
2
uv init my-project
cd my-project

这会自动创建虚拟环境并生成配置文件。

2. 管理依赖 (替代 pip)

添加依赖包(自动更新 pyproject.tomluv.lock):

1
uv add requests pandas

添加开发依赖:

1
uv add --dev pytest black

移除依赖:

1
uv remove requests

同步环境(根据锁文件安装确切版本):

1
uv sync

3. 运行脚本 (无需手动激活虚拟环境)

直接运行脚本,uv 会自动在隔离环境中执行:

1
uv run script.py

或者运行一行命令:

1
uv run python -m http.server

4. 管理 Python 版本 (替代 pyenv)

查找可用的 Python 版本:

1
uv python list

安装特定版本的 Python:

1
uv python install 3.12

为当前项目指定 Python 版本(会在 .python-version 文件中记录):

1
uv python pin 3.11

5. 运行全局工具 (替代 pipx)

安装并运行全局命令行工具(如 ruff, httpie 等):

1
2
3
4
5
uv tool install ruff
ruff check . # 安装后可直接使用

# 或者临时运行而不安装
uvx ruff check .

6. 构建与发布 (替代 build/twine)

构建项目分发包:

1
uv build

发布到 PyPI:

1
uv publish

7. 兼容传统 requirements.txt

如果你习惯使用 requirements.txt,uv 也完美支持:

1
2
3
4
5
# 安装 requirements.txt 中的依赖
uv pip install -r requirements.txt

# 将当前环境冻结为 requirements.txt
uv pip freeze > requirements.txt

总结

对于 2025-2026 年的 Python 开发者来说,uv 已经成为首选工具。它不仅极大地缩短了等待依赖安装的时间,还通过统一的命令简化了工作流,让开发者不再需要在 venvpippoetrypyenv 之间来回切换。

建议起步命令:

1
2
3
4
uv init my-app
cd my-app
uv add fastapi # 举例添加依赖
uv run main.py # 直接运行

python的uv工具
http://hanqichuan.com/2026/02/27/其他工具/python的uv工具/
作者
韩启川
发布于
2026年2月27日
许可协议