uv命令及使用
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 命令接口
- 支持虚拟环境管理
- 支持项目依赖锁定
- 支持并行下载和缓存优化