PyTorch 切换到 CUDA 开启的版本
问题
绝大多数 AI 项目,在依赖里面未指定 PyTorch 来源,PyTorch 默认会从 PyPI 安装。结果,PyTorch 默认是使用 CPU 版本的 PyTorch。可能会报错如下:
| AssertionError: Torch not compiled with CUDA enabled
|
因此需要切换到 CUDA 开启的版本。
切换
删除当前 PyTorch:
| pip uninstall torch torchvision
|
查看 CUDA 版本:
| 输出 |
|---|
| nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Wed_Aug_20_13:58:20_Pacific_Daylight_Time_2025
Cuda compilation tools, release 13.0, V13.0.88
Build cuda_13.0.r13.0/compiler.36424714_0
|
上例得 CUDA 版本 13.0。
打开 PyTorch 的下载页面,根据系统、CUDA 版本选择对应的版本。复制链接,在命令行中执行。

比如:
| pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130
|
在项目的依赖管理中指定源
| requirements.txt |
|---|
| --extra-index-url https://download.pytorch.org/whl/cu130
torch
torchvision
|
| pyproject.toml(以 uv 为例) |
|---|
| [project]
name = "your-project"
version = "0.1.0"
requires-python = ">=3.10"
dependencies = [
"torch",
"torchvision",
]
[[tool.uv.index]]
name = "pytorch-cu130"
url = "https://download.pytorch.org/whl/cu130"
explicit = true # 关键:防止其他包意外从 PyTorch 源安装
[tool.uv.sources]
torch = { index = "pytorch-cu130" }
torchvision = { index = "pytorch-cu130" }
|
如果要在不同平台使用不同的 index:
| pyproject.toml(以 uv 为例) |
|---|
| [tool.uv.sources]
torch = [
{ index = "pytorch-cpu", marker = "sys_platform == 'darwin'" },
{ index = "pytorch-cu130", marker = "sys_platform != 'darwin'" },
]
|