uv加速深度学习环境搭建的关键是配置pytorch专用镜像源和python安装镜像,而非更换工具;需在pyproject.toml中用[tool.uv.sources]显式指定torch等包的cu版本index并设explicit=true,同时设置uv_python_install_mirror环境变量以加速python安装。

uv 加速深度学习环境搭建的关键,不在于“换工具”,而在于绕过国内网络对 GitHub 和 PyPI 官方源的访问瓶颈。实测中,uv pip install torch 比 pip 快 2–3 倍,但真正卡住进度的,往往是 uv python install 和 torch 的 CUDA whl 下载——这两步默认走的是境外源。
为什么 uv install torch 还是慢?
因为 torch 官方 wheel 不在 PyPI 主站,而在 https://download.pytorch.org/whl/。即使你配置了清华 PyPI 镜像,uv 默认仍会去 PyTorch 官方源拉包,除非显式告诉它用哪个 index。
- 现象:
uv pip install torch卡在 “Resolving dependencies…” 或下载阶段,进度条长期不动 - 原因:uv 尝试从
https://pypi.org/simple/解析 torch 元数据,再重定向到 PyTorch 官方源,中间经历多次 DNS+连接超时 - 解决核心:用
[tool.uv.sources]强制指定 torch 所属 index,并设为explicit = true
如何配置 PyTorch 专用镜像源(cu121/cu124/cu130)
在项目根目录的 pyproject.toml 中添加以下内容(以 CUDA 12.4 为例):
[tool.uv.index]
name = "pytorch-cu124"
url = "https://download.pytorch.org/whl/cu124"
explicit = true
[tool.uv.sources]
torch = { index = "pytorch-cu124" }
torchvision = { index = "pytorch-cu124" }
torchaudio = { index = "pytorch-cu124" }
- 必须写全
torch、torchvision、torchaudio,否则 uv 仍可能 fallback 到默认源 -
explicit = true表示该 index 仅用于声明的包,不影响其他依赖(如numpy仍走清华源) - cu 版本要和本地
nvidia-smi显示的驱动兼容,不匹配会导致安装成功但运行报错libcudnn.so not found
uv python install 卡在 12%?立刻配 UV_PYTHON_INSTALL_MIRROR
uv python install 3.12 默认从 GitHub 下载 python-build-standalone,国内直连极慢。这不是 uv 的问题,是源没切对。
- Windows 用户:在系统环境变量中新增
UV_PYTHON_INSTALL_MIRROR,值设为:https://ghfast.top/https://github.com/astral-sh/python-build-standalone/releases/download - macOS/Linux 用户:往
~/.zshrc或~/.bashrc添加:export UV_PYTHON_INSTALL_MIRROR="https://ghfast.top/https://github.com/astral-sh/python-build-standalone/releases/download" - 验证是否生效:运行
uv python install 3.12,观察下载 URL 是否已变成ghfast.top开头
完整流程:从零搭一个可跑 torch 的 uv 环境
四步闭环,每步都避开常见断点:
- 先配好全局镜像:
UV_PYTHON_INSTALL_MIRROR+UV_DEFAULT_INDEX=https://pypi.tuna.tsinghua.edu.cn/simple - 创建项目并指定 Python 版本:
uv init --python 3.12(自动触发下载,走加速镜像) - 编辑
pyproject.toml,加入 PyTorch 专用 index(见上一节) - 执行:
uv pip install torch torchvision torchaudio --system(--system避免 uv 自动创建 .venv,适合直接装进当前 Python)
真正容易被忽略的是:PyTorch 的 index 配置必须写在 pyproject.toml 里,且 explicit = true;环境变量对 pip install 阶段完全无效——这是 uv 的设计限制,不是 bug。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











