前言
conda似乎已经被嫌弃了,合作的企业都开始用uv了,我也应该跟着转型
安装
基本使用
在一个没有使用 uv 的目录中,初始化(生成pyproject.toml)
uv init
然后可以编辑pyproject.toml,在里面添加依赖,最后执行
uv sync
它会自动创建一个虚拟环境,然后同步依赖
如果你想要手动创建一个虚拟环境,需要在项目根目录下执行,它会创建一个.venv
uv venv --python 3.10.19
启用创建的环境,同样在项目根目录下
source .venv/bin/activate
在项目已有pyproject.toml和uv.lock的情况下,同步项目依赖
uv sync
切换虚拟环境的 python 版本
比如说你现在想要 3.10 版本,不管你现在是什么版本,执行
uv python pin 3.10
uv sync --reinstall
它会帮你切换到 3.10,然后重新安装依赖
安装 GPU 版本的 PyTorch
特定 CUDA 版本的 PyTorch 不在标准 PyPI 包上面,如果你直接使用 uv 安装,会安装到 cpu 版本。
正确的做法参考官方文档
首先修改pyproject.toml,以cu118为例
[project]
name = "project"
version = "0.1.0"
requires-python = ">=3.14"
dependencies = [
"torch>=2.9.1",
"torchvision>=0.24.1",
]
[[tool.uv.index]]
name = "pytorch-cu118"
url = "https://download.pytorch.org/whl/cu118"
explicit = truepyproject.toml
然后执行
uv lock
这一步会更新uv.lock文件
最后执行
uv sync
换源
安装 Python 换源
uv 默认从 github 下载预编译的 python 二进制,所以创建虚拟环境的时候可能会卡住,需要换源
export UV_PYTHON_INSTALL_MIRROR="https://python-standalone.org/mirror/astral-sh/python-build-standalone"
清华源
export UV_PYTHON_DOWNLOADS_URL=https://mirrors.tuna.tsinghua.edu.cn/github-release/astral-sh/python-build-standalone/
试了试下清华源,不咋快
参考知乎-用uv管理python环境(各种应用场景)-VCVC
PyPI 换源
export UV_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple
powershell
$env:UV_INDEX_URL = "https://pypi.tuna.tsinghua.edu.cn/simple"
cmd
set UV_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple