uv简介

uv 是一个由 Rust 编写的高性能 Python 包和环境管理工具,旨在替代传统的 pipvirtualenv,提供更快的包安装和依赖解析能力。uv 支持跨平台,兼容现有 Python 工作流。

主要特性

  • 极速包安装与依赖解析
  • 环境管理(创建、激活、删除虚拟环境)
  • 兼容 pip/virtualenv 命令
  • 支持 Windows、macOS、Linux

安装方法

通过 npm 安装

1
npm install -g uv

通过 pipx 安装

1
pipx install uv

下载二进制文件

可从 GitHub Releases 下载适合平台的二进制文件。

基本用法

创建虚拟环境

1
uv venv .venv

激活虚拟环境

Windows:

1
.venv\Scripts\activate

macOS/Linux:

1
source .venv/bin/activate

安装包

1
uv pip install requests numpy

查看已安装包

1
uv pip list

卸载包

1
uv pip uninstall requests

升级包

1
uv pip install --upgrade numpy

项目管理

uv 不仅可以管理包和虚拟环境,还支持项目级的依赖管理和配置。

初始化项目

可以使用 uv 初始化一个新的 Python 项目,自动生成 pyproject.toml:

1
uv init

添加依赖

向项目添加依赖包,并自动写入 pyproject.toml:

1
uv add requests numpy

移除依赖

从项目中移除指定包:

1
uv remove requests

生成 requirements.txt

根据当前项目依赖生成 requirements.txt 文件:

1
uv requirements > requirements.txt

安装项目依赖

根据 pyproject.toml 安装所有依赖:

1
uv pip install

升级所有依赖

1
uv upgrade

区分开发与生产环境依赖

uv 支持通过 --dev 参数区分开发环境和生产环境依赖。

添加开发依赖

将依赖包添加到开发环境(dev-dependencies):

1
uv add --dev pytest black

安装开发依赖

安装所有依赖(包括开发依赖):

1
uv pip install --dev

只安装生产依赖:

1
uv pip install

移除开发依赖

从开发依赖中移除包:

1
uv remove --dev pytest

导出 requirements 文件

导出生产依赖:

1
uv requirements > requirements.txt

导出开发依赖:

1
uv requirements --dev > dev-requirements.txt

与传统工具对比

  • 安装速度远快于 pip
  • 依赖解析更高效
  • 命令兼容性好,迁移成本低

参考链接