目录
[一、卸载旧 CUDA(必做,否则版本打架)](#一、卸载旧 CUDA(必做,否则版本打架))
[1. 卸载旧版 Toolkit](#1. 卸载旧版 Toolkit)
[2. 删除残留文件夹(清干净)](#2. 删除残留文件夹(清干净))
[3. 重启电脑](#3. 重启电脑)
[1. 系统变量里删除](#1. 系统变量里删除)
[2. Path 清理(重点)](#2. Path 清理(重点))
[三、安装 CUDA 12.8(只装核心,不装驱动)](#三、安装 CUDA 12.8(只装核心,不装驱动))
[1. 下载](#1. 下载)
[2. 安装(自定义,极简)](#2. 安装(自定义,极简))
[3. 配置新环境变量](#3. 配置新环境变量)
[4. 验证 CUDA](#4. 验证 CUDA)
[四、安装 cuDNN 9.x(适配 CUDA12.x)](#四、安装 cuDNN 9.x(适配 CUDA12.x))
[1. 下载](#1. 下载)
[2. 覆盖文件(无脑复制)](#2. 覆盖文件(无脑复制))
[3. 验证 cuDNN(可选)](#3. 验证 cuDNN(可选))
[五、pip 安装 PyTorch 超时问题解决(ReadTimeoutError)](#五、pip 安装 PyTorch 超时问题解决(ReadTimeoutError))
[1. 报错现象](#1. 报错现象)
[2. 临时解决(推荐)](#2. 临时解决(推荐))
[3. 永久配置国内源(一劳永逸)](#3. 永久配置国内源(一劳永逸))
[4. 国内源备选(换着用)](#4. 国内源备选(换着用))
前言
很多人第一次配置 NVIDIA GPU 深度学习环境都会踩坑: 旧 CUDA 残留、环境变量混乱、版本不匹配、pip 下载超时、GPU 跑不起来...... 本文基于 Windows 10/11,手把手完成 CUDA12.8 + cuDNN9.x + PyTorch(cu128) 完整搭建,全程只装必要组件,零冗余、零冲突。
一、卸载旧 CUDA(必做,否则版本打架)
1. 卸载旧版 Toolkit
打开:设置 → 应用 → 已安装应用 搜索:CUDA 卸载所有 "NVIDIA CUDA Toolkit xx.x"(v11.x、旧 v12.x 全部干掉)
⚠️ 千万不要卸载:
- NVIDIA Graphics Driver(显卡驱动)
- NVIDIA Control Panel(控制面板)
2. 删除残留文件夹(清干净)
必须删除:
C:\Program Files\NVIDIA GPU Computing Toolkit
可选删除(不影响驱动,只是清理垃圾):
C:\Program Files\NVIDIA Corporation\Installer2
C:\Program Files\NVIDIA Corporation\Nsight*
C:\Program Files\NVIDIA Corporation\FrameViewSDK
这些是旧调试工具、安装缓存,删了不影响显卡和新 CUDA。
3. 重启电脑
卸载 + 删目录后一定要重启,否则环境变量和进程会残留。
二、清理旧环境变量(最关键!新手最容易错)
右键「此电脑」→ 属性 → 高级系统设置 → 环境变量
1. 系统变量里删除
- 删除所有:
CUDA_PATH、CUDA_PATH_V11_8、CUDA_PATH_V12_xxx
2. Path 清理(重点)
把 Path 里所有硬编码旧 CUDA 路径全部删掉,例如:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin
...
✅ 保留并置顶(以后换版本不用改 Path)
%CUDA_PATH%\bin
%CUDA_PATH%\libnvvp
把这两行移到 Path 最顶部。
三、安装 CUDA 12.8(只装核心,不装驱动)
1. 下载
官网下载 CUDA 12.8 Windows 离线安装包。
2. 安装(自定义,极简)
- 右键 → 管理员身份运行
- 选择 Custom(自定义)
- 组件只勾选 : ✅ CUDA Toolkit 12.8 ❌ 取消勾选 NVIDIA Graphics Driver(绝对不要装!) ❌ 取消勾选 Nsight、Visual Studio Integration(不用就不装)
安装路径默认即可:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8
3. 配置新环境变量
系统变量 → 新建:
变量名:CUDA_PATH
变量值:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8
Path 确保有(且置顶):
%CUDA_PATH%\bin
%CUDA_PATH%\libnvvp
4. 验证 CUDA
新开终端(必须新开):
nvcc -V
输出 release 12.8 即成功。
四、安装 cuDNN 9.x(适配 CUDA12.x)
1. 下载
官网下载 cuDNN 9.x for CUDA 12.x(选择 Windows 版)。
2. 覆盖文件(无脑复制)
解压后把:
bin\*include\*lib\*
全部复制到:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8\
对应文件夹直接覆盖即可。
3. 验证 cuDNN(可选)
进入:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8\extras\demo_suite
运行:
deviceQuery.exe
bandwidthTest.exe
出现 Result=PASS 说明成功。
五、pip 安装 PyTorch 超时问题解决(ReadTimeoutError)
1. 报错现象
WARNING: Retrying ... ReadTimeoutError ... read timeout=15
原因:国外源太慢、超时太短、国内网络不稳定稀土掘金
2. 临时解决(推荐)
安装时加 国内源 + 超时延长:
pip install torch==2.9.0+cu128 -i https://pypi.tuna.tsinghua.edu.cn/simple --timeout 60
3. 永久配置国内源(一劳永逸)
Windows 用户目录新建: C:\Users\你的用户名\pip\pip.ini
内容:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
timeout = 60
保存后所有 pip 自动走国内源、超时 60 秒。
4. 国内源备选(换着用)
- 清华:
https://pypi.tuna.tsinghua.edu.cn/simple - 阿里:
https://mirrors.aliyun.com/pypi/simple/ - 豆瓣:
http://pypi.douban.com/simple/稀土掘金
常见坑总结
- 不要装多个 CUDA:环境变量必乱,卸载干净只留 12.8。
- 不要重装显卡驱动 :CUDA 安装时取消驱动勾选。
- Path 不要写死旧路径 :用
%CUDA_PATH%动态指向,以后升级不用改 Path。 - pip 超时必换国内源:国外源在国内基本不可用。
- cuDNN 直接覆盖:不用复杂配置,复制粘贴即可。
- 重启大法 :卸载、删目录、改环境变量后一定要重启 / 新开终端。
六、软件下载链接以及流程:
CUDA Toolkit 12.8 Update 1 Downloads | NVIDIA Developer
cuDNN 9.24.0 Downloads | NVIDIA Developer

pytorch官网https://pytorch.org/

创建虚拟环境下载离线包:

新建一个虚拟环境装python3.10版本的torch-gpu,并激活
python
(base) PS D:\huaweidata> conda create --name torch-gpu python=3.10
Channels:
- defaults
Platform: win-64
Collecting package metadata (repodata.json): done
Solving environment: done
## Package Plan ##
environment location: C:\Users\admin\anaconda3\envs\torch-gpu
done
#
# To activate this environment, use
#
# $ conda activate torch-gpu
#
# To deactivate an active environment, use
#
# $ conda deactivate
(base) PS D:\huaweidata> conda activate torch-gpu
(torch-gpu) PS D:\huaweidata>
安装下载好的软件包:
python
(torch-gpu) PS C:\Users\admin\Downloads> pip install "torch-2.9.0+cu128-cp310-cp310-win_amd64.whl"
python
(torch-gpu) PS C:\Users\admin\Downloads> pip install "torchvision-0.24.0+cu128-cp310-cp310-win_amd64.whl"

确认有没有装好:
python
python -c "import torch; print('PyTorch版本:', torch.__version__); print('CUDA可用:', torch.cuda.is_available()); print('GPU数量:', torch.cuda.device_count()); print('CUDA版本:', torch.version.cuda if torch.cuda.is_available() else '未安装'); print(torch.cuda.get_arch_list())"
结果:
python
(torch-gpu) PS C:\Users\admin\Downloads> python -c "import torch; print('PyTorch版本:', torch.__version__); print('CUDA可用:', torch.cuda.is_available()); print('GPU数量:', torch.cuda.device_count()); print('CUDA版本:', torch.version.cuda if torch.cuda.is_available() else '未安装'); print(torch.cuda.get_arch_list())"
PyTorch版本: 2.9.0+cu128
CUDA可用: True
GPU数量: 1
CUDA版本: 12.8
['sm_70', 'sm_75', 'sm_80', 'sm_86', 'sm_90', 'sm_100', 'sm_120']
(torch-gpu) PS C:\Users\admin\Downloads>