能直接用conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia安装成功,就无需手动装CUDA Toolkit和cuDNN;nvidia-smi显示的CUDA Version是驱动支持上限而非已安装版本,PyTorch GPU可用性取决于pytorch-cuda包与驱动的兼容性,且需显式指定python=3.10、配置清华源加速并确保终端自动激活环境。

能直接用 conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia 安装成功,就不用折腾 CUDA Toolkit 和 cuDNN 手动安装——90% 的失败都源于多此一举。
nvidia-smi 显示的 CUDA Version 不是你要装的版本
这是最常被误解的一点。nvidia-smi 输出里那一行 “CUDA Version: 12.4” 表示的是当前驱动**最高支持**的 CUDA 运行时版本,不是你系统已安装的 CUDA Toolkit 版本,更不等于 PyTorch 要求的 pytorch-cuda 构建版本。
真正决定 PyTorch GPU 是否可用的,是 conda 或 pip 安装时指定的 pytorch-cuda 包(如 pytorch-cuda=11.8)是否与你的驱动兼容。NVIDIA 驱动向下兼容:驱动 535+ 支持 CUDA 11.8/12.1/12.4 等多个 Toolkit 版本。
- 查驱动支持上限:运行
nvidia-smi,看右上角 “CUDA Version” - 查实际可用的 PyTorch CUDA 构建版:访问 pytorch.org/get-started/locally,选 Windows + Pip/Conda + CUDA,它会给出精确命令
- 不要运行
nvcc --version—— 如果没手动装 CUDA Toolkit,它大概率报错;即使有,也和 PyTorch 无关
conda create 环境时必须显式指定 python=3.10(或 3.9/3.11)
PyTorch 2.0+ 已停止支持 Python 3.7 和 3.12,且对 3.10 兼容性最稳。如果你只写 conda create -n pt_gpu,conda 可能默认创建 3.12 环境,后续 conda install pytorch-cuda=11.8 会静默失败或装成 CPU-only 版本。
立即学习“Python免费学习笔记(深入)”;
验证方式很简单:环境激活后,在 Python 中运行:
import torch print(torch.__version__) print(torch.cuda.is_available()) # 必须为 True
若为 False,八成是 Python 版本越界或环境未正确激活。
- 始终用
conda create -n pt_gpu python=3.10 -y显式声明 - 激活后立刻运行
python --version确认 - VSCode 中按
Ctrl+Shift+P→ “Python: Select Interpreter”,手动指向该环境的python.exe(路径类似D:envspt_gpupython.exe)
VSCode 终端没走 conda 环境?检查 shellPath 和 “在集成终端中运行的命令”
即使你在 VSCode 里选对了 Python 解释器,如果集成终端(Ctrl+Shift+`)没激活 conda 环境,pip list 或 python -c "import torch" 仍可能报错或找不到包。
根本原因是:VSCode 默认终端启动时不会自动运行 conda activate pt_gpu,尤其当你禁用了 auto_activate_base 后。
- 打开 VSCode 设置(
Ctrl+,),搜terminal integrated shell path - Windows 用户设为
shellPath: "C:\Windows\System32\cmd.exe"或powershell.exe,但关键在下一步 - 搜
terminal integrated default profile→ 点击 “Edit in settings.json” - 添加配置(以 PowerShell 为例):
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"icon": "terminal-powershell",
"args": ["-ExecutionPolicy", "Bypass", "-NoExit", "-Command", "conda activate pt_gpu"]
}
}这样每次开新终端,自动进入 pt_gpu 环境,torch.cuda.is_available() 就不会意外为 False 了。
国内用户必须配 conda 清华源,否则 pytorch-cuda 安装超时或 404
PyTorch 的官方 conda channel(-c pytorch)在国内直连极不稳定,经常卡住或返回 404。这不是网络问题,是 CDN 路由策略导致的。
解决办法不是换镜像站,而是让 conda 先走清华源拉基础包,再从官方 channel 拉 PyTorch 专用包:
- 运行:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ - 再运行:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ - 最后加官方 channel:
conda config --add channels conda-forge和conda config --add channels pytorch - 设置优先级:
conda config --set show_channel_urls yes
之后执行 conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia -y,速度提升 5–10 倍,且几乎不再失败。
真正卡住的地方从来不是代码,而是 conda activate 没生效、Python 版本错位、或者终端压根没进对环境——这些细节不打钩,torch.cuda.is_available() 就永远是 False。



















