关键在于PyTorch的CUDA编译版本必须≤nvidia-smi显示的驱动支持上限(如CUDA Version: 11.8),否则torch.cuda.is_available()仍返回False;需用整合包内python.exe卸载重装匹配cuXXX源的torch/torchvision/torchaudio。

直接降级 PyTorch 不能解决驱动不兼容问题——关键在于让 PyTorch 的 CUDA 编译版本 ≤ nvidia-smi 显示的“CUDA Version”上限。否则即使装了旧版 PyTorch,torch.cuda.is_available() 仍会返回 False 或报 The NVIDIA driver on your system is too old。
先查清驱动能撑住哪个 CUDA 主版本
打开终端运行:nvidia-smi
注意右上角显示的 “CUDA Version: X.Y”(比如 CUDA Version: 11.8),这个不是你装了什么 CUDA Toolkit,而是当前驱动**最高支持的 CUDA 运行时版本**。它决定了你能用的 PyTorch 最高 CUDA 编译版本(如 cu118),不能超。
常见误区:
– 不要看 nvcc --version,那只是本地装的 CUDA Toolkit 版本,PyTorch 根本不依赖它;
– 不要凭显卡型号猜驱动能力,必须以 nvidia-smi 输出为准;
– 驱动版本号(如 535.86)和 CUDA 版本号(如 11.8)没有直接换算关系,查 NVIDIA 官方兼容表才可靠。
卸载当前 PyTorch 并重装匹配 CUDA 版本的 wheel
在目标 Python 环境中执行(尤其注意:秋叶绘世等整合包必须用其自带的 python.exe,不是系统全局 Python):
– 卸载:path\to\python.exe -m pip uninstall torch torchvision torchaudio -y
– 安装(以支持 CUDA 11.8 的 PyTorch 2.0.1 为例):path\to\python.exe -m pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118
要点:
– 必须指定 --index-url 指向对应 CUDA 的 PyTorch 官方源,否则 pip 可能装错 CPU 版或不匹配的 CUDA 版;
– torchvision 和 torchaudio 版本必须与 torch 严格配套,官网安装命令里写的组合才是验证过的;
– 如果装完 torch.version.cuda 显示的是 12.1,说明还是装错了,回头检查 nvidia-smi 和安装命令里的 cuXXX 是否一致。
让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限
遇到 “no matching distribution found” 怎么办
这通常不是 CUDA 问题,而是 Python 版本太新,PyTorch 官方没为该 Python 版本编译对应 wheel(比如想装 PyTorch 1.7.0,但环境是 Python 3.10+)。
解决方式:
– 先确认目标 PyTorch 版本支持的 Python 范围(查 PyTorch 官网 “Previous Versions” 页面);
– 在 Conda 环境中降级 Python:conda install python=3.8,再重试安装;
– 或改用 conda 安装(有时 conda 包比 pip wheel 支持更老的 Python):conda install pytorch==1.7.0 torchvision==0.8.0 cpuonly -c pytorch(去掉 cpuonly 并加 -c conda-forge 可尝试 GPU 版);
– 绝对不要手动下载 .whl 文件后用 pip install,容易漏掉 torchvision 依赖或版本错配。
最容易被忽略的一点:PyTorch 的 CUDA 支持是静态编译进二进制包里的,不是运行时动态加载的。所以“降级 PyTorch”本质是换一个预编译时绑定更低 CUDA 版本的包,而不是让旧包去适配新驱动——方向反了就永远修不好。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!










