uv是一个极快的Python包管理器,可以替代pip和conda,提供更快的包安装速度。

一、安装uv

1.1 在系统中安装

Linux或者MacOS系统安装:

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

Windows系统:

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

或者直接 pip 安装(可能影响系统 Python):

pip install uv

1.2 检查是否安装成功

uv --version

输出类似以下内容代表安装成功:

uv 0.x.x

1.3 查看 UV 版本

运行以下命令查看当前安装的 UV 版本:

uv --version

或者

uv -V

1.4 查看可安装的 Python 版本

uv python list

二、虚拟环境管理

2.1 创建名为 uvtest 的虚拟环境

uv venv uvtest --python 3.8

这里创建了名为uvtest的虚拟环境,默认创建在当前目录下的 uvtest 文件夹中。同时指定了python版本为3.8,可以根据自己的需求更改。

2.2 激活名为 uvtest 的虚拟环境

Linux或者MacOS系统:

source uvtest/bin/activate

Windows系统:

.\uvtest\Scripts\activate

2.3 退出当前的虚拟环境

deactivate

2.4 清理缓存

uv cache clean

2.5 清理未使用的虚拟环境

uv venv prune

三、包管理

3.1 安装Python包

uv pip install <package_name>

示例:uv pip install torch 安装 PyTorch。

可选参数: - --index-url <url> 指定镜像源(如阿里云镜像:--index-url https://mirrors.aliyun.com/pypi/simple/) - --extra-index-url <url> 添加额外的索引源

3.2 安装特定版本的包

例如安装2.2.0版本的numpy:

uv pip install numpy==2.2.0

也支持范围指定:

uv pip install "numpy>=2.0,<3.0"

从 requirements.txt 批量安装:

uv pip install -r requirements.txt

如果需要覆盖已有依赖,可以加 --force-reinstall

安装开发版或 Git 仓库中的包:

示例:uv pip install git+https://github.com/pytorch/pytorch.git@main 安装 PyTorch 的最新开发版

安装本地 wheel 文件:

示例:uv pip install torch-2.0.1+cu121-cp310-cp310-linux_x86_64.whl

3.3 查看已安装的包

uv pip list

输出当前环境中所有已安装的包及其版本。

可选参数: - --outdated 显示已过时的包。 - --format json 输出 JSON 格式的包列表。

3.4 升级包

uv pip install --upgrade <package_name>

或者简写:

uv pip install -U <package_name>

3.5 卸载包

uv pip uninstall <package_name>

3.6 导出依赖列表

uv pip freeze > requirements.txt

3.7 根据依赖列表创建环境(同3.2)

uv pip install -r requirements.txt

3.8 检查依赖冲突

uv pip check

四、项目管理

4.1 初始化项目

uv init <project_name>

创建一个新项目目录,包含 pyproject.toml 文件

4.2 添加依赖到项目

uv add <package_name>

例如:

uv add requests
uv add "numpy>=1.20"

4.3 移除项目依赖

uv remove <package_name>

4.4 同步项目依赖

uv sync

根据 pyproject.toml 同步环境中的依赖,安装缺失的包,移除多余的包。

可选参数:--frozen 锁定版本,防止自动升级。

4.5 锁定依赖

uv lock

生成 uv.lock 文件,锁定所有依赖的精确版本,确保环境可重现。

五、运行脚本和命令

5.1 运行 Python 脚本

uv run python script.py

说明:uv run 自动在虚拟环境中执行,隔离外部依赖。

5.2 运行带依赖的命令

uv run --with <package> <command>

示例:uv run --with torch python train.py 临时安装 PyTorch 并运行脚本。

六、镜像源和性能优化

6.1 设置全局镜像源

示例:uv pip install torch --index-url https://mirrors.aliyun.com/pypi/simple/

替代方法:编辑 uv 配置文件(~/.config/uv/uv.toml):

[index-url]
url = "https://mirrors.aliyun.com/pypi/simple/"

6.2 并行下载

uv 默认使用并行下载,无需额外配置即可获得极快的安装速度。

总结

uv 是一个极快的 Python 包管理器,如果平时习惯使用 pip 命令安装、管理各种 Python 库的话,uv 使用起来和 pip 很像,很多都是在 pip 之前加上 uv 就可以了。uv 的主要优势包括:

  • 极快的安装速度(比 pip 快 10-100 倍)
  • 兼容 pip 命令接口
  • 支持虚拟环境管理
  • 支持项目依赖锁定
  • 支持并行下载和缓存优化