大家好,我是南木。作为深度学习入门的第一道坎,PyTorch安装看似简单,实则藏着“版本匹配”“硬件适配”“环境依赖”三大坑。尤其是2024年PyTorch 2.4发布后,对CUDA、Python版本的要求更严格,很多老教程的方法已经失效。

这篇文章结合我帮500+新手排查安装问题的经验,从“安装前准备→三端详细步骤→常见报错解决→CUDA深度适配”全流程,手把手教你一次装对PyTorch。包含Windows 10/11、Ubuntu 22.04、Mac(Intel+M1/M2) 三种系统的最优方案,附“版本对应表”“验证清单”“避坑指南”,即使是零基础小白也能跟着走通。

这里给大家准备了一些超级适合零基础入门的资料包 需要的同学扫码自取

在这里插入图片描述
在这里插入图片描述

一、安装前必做:3步避坑准备(决定成败的关键)

很多人安装失败,不是步骤错了,而是没做前期检查,直接盲目复制命令。这3步准备能帮你避开80%的基础错误。

1. 第一步:硬件兼容性检查(先看“能不能装GPU版本”)

PyTorch分“CPU版本”和“GPU版本”,GPU版本需要硬件支持(主要是NVIDIA显卡),先明确你的硬件能不能装GPU版本:

(1)判断是否支持CUDA(NVIDIA显卡用户)

CUDA是NVIDIA推出的GPU加速技术,PyTorch GPU版本依赖CUDA。检查方法:

  1. 查看显卡型号

    • Windows:右键“此电脑”→“管理”→“设备管理器”→“显示适配器”,看是否有“NVIDIA GeForce XXX”(如RTX 3060、GTX 1650);
    • Linux:终端输入lspci | grep -i nvidia,有输出则为NVIDIA显卡;
    • Mac:2016年后的Mac大多用AMD显卡或Apple Silicon,不支持CUDA,只能装CPU版本或Apple Silicon专用版本。
  2. 检查显卡算力
    即使是NVIDIA显卡,算力低于3.5也不支持最新PyTorch。查询地址:NVIDIA显卡算力表(如GTX 1050算力6.1,支持;GTX 750Ti算力5.0,仅支持PyTorch 1.12及以下)。

(2)Apple Silicon用户(M1/M2/M3芯片)

无需考虑CUDA,PyTorch提供专门的“Apple Silicon版本”,支持Metal加速(Apple的GPU加速技术),性能接近同级别NVIDIA显卡的CPU版本。

(3)AMD显卡用户

可尝试ROCm版本(AMD的GPU加速技术),但支持的PyTorch版本有限,且配置复杂,新手建议优先装CPU版本,熟练后再折腾ROCm。

2. 第二步:Python环境准备(版本不对,一切白费)

PyTorch对Python版本有严格要求(如PyTorch 2.4支持Python 3.8~3.11,不支持3.12及以上),且强烈建议用Anaconda创建虚拟环境,避免污染系统Python。

(1)安装Anaconda(三端通用)

Anaconda是Python环境管理工具,能一键创建隔离的虚拟环境,避免依赖冲突。

  1. 下载地址Anaconda官网(选对应系统的64位版本,Python 3.9或3.10版本,兼容性最好);

  2. 安装步骤

    • Windows:双击安装包,勾选“Add Anaconda to my PATH environment variable”(方便命令行调用);
    • Linux:终端输入bash Anaconda3-XXXX-Linux-x86_64.sh,一路按Enter,最后输入yes同意初始化;
    • Mac:拖入Applications文件夹,打开Terminal运行conda init zsh(若用bash则为conda init bash)。
  3. 验证安装
    打开终端(Windows用“Anaconda Prompt”),输入conda --version,显示版本号(如conda 23.10.0)即为成功。

(2)创建虚拟环境(避免版本冲突)
# 1. 创建名为pytorch_env的虚拟环境,指定Python 3.10(兼容性最优)
conda create -n pytorch_env python=3.10 -y
# 2. 激活虚拟环境
# Windows:
conda activate pytorch_env
# Linux/Mac:
source activate pytorch_env
# 激活后终端前缀会显示(pytorch_env),表示进入虚拟环境

注意:后续所有安装操作都要在激活的虚拟环境中进行!

3. 第三步:确定PyTorch版本与安装命令(官方命令最靠谱)

最忌“复制网上的旧命令”,不同系统、硬件对应的命令不同,必须从PyTorch官网获取最新命令
官网地址:PyTorch Get Started

(1)官网命令选择指南(以2024年10月为例)

在官网页面按以下步骤选择:

  1. PyTorch Build:选“Stable (2.4.1)”(稳定版,新手首选);
  2. Your OS:选对应系统(Windows/Linux/Mac);
  3. Package
    • 推荐“Conda”(自动处理依赖,成功率高);
    • 若选“Pip”,需确保pip版本≥20.3(可通过pip install --upgrade pip升级);
  4. Language:选“Python”;
  5. Compute Platform
    • NVIDIA显卡用户:选对应CUDA版本(如CUDA 12.1,后面会讲怎么确定);
    • CPU用户/Mac用户:选“CPU”;
    • Apple Silicon用户:选“CPU”(官网会自动适配Metal加速)。
(2)示例:官网生成的安装命令
  • Windows NVIDIA CUDA 12.1
    conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
  • Linux CPU版本
    conda install pytorch torchvision torchaudio cpuonly -c pytorch
  • Mac Apple Silicon
    conda install pytorch torchvision torchaudio -c pytorch

二、Windows 10/11安装详解(GPU+CPU双版本,附驱动适配)

Windows是新手最常用的系统,但也是安装问题最多的——“CUDA不可用”“驱动不匹配”“环境变量缺失”是三大高频坑。

1. 方案一:GPU版本安装(NVIDIA显卡用户,性能最优)

(1)前置条件
  • 显卡:NVIDIA显卡,算力≥3.5;
  • 驱动:NVIDIA驱动版本需匹配CUDA版本(如CUDA 12.1需驱动≥536.23)。
(2)详细步骤
  1. 安装NVIDIA驱动(关键!)
    很多人装了CUDA但驱动版本不够,导致PyTorch无法调用GPU。

    • 自动安装:打开“GeForce Experience”→“驱动程序”→“下载并安装”(推荐,自动匹配最新驱动);
    • 手动安装:若没有GeForce Experience,去NVIDIA驱动下载页,选显卡型号、系统版本,下载“Game Ready驱动”并安装。

    验证驱动:终端输入nvidia-smi,显示显卡信息和“CUDA Version: XX.X”(如12.4,表示支持最高12.4版本的CUDA)。

  2. 获取PyTorch安装命令
    官网选择“Windows→Conda→Python→CUDA 12.1”(推荐12.1,兼容性最好),复制命令。

  3. 执行安装命令
    打开“Anaconda Prompt”,激活虚拟环境,粘贴命令:

    conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
    

    等待安装完成(约5-15分钟,取决于网速),若提示“Proceed ([y]/n)?”,输入y回车。

  4. 验证安装(必做!)
    在虚拟环境中输入python,进入Python交互环境,执行以下代码:

    import torch
    # 验证PyTorch是否安装成功
    print(torch.__version__)  # 输出2.4.1等版本号
    # 验证GPU是否可用(核心!)
    print(torch.cuda.is_available())  # 输出True则成功,False则失败
    # 验证CUDA版本是否匹配
    print(torch.version.cuda)  # 输出12.1等版本号
    
(3)Windows GPU安装常见报错及解决
报错信息 原因分析 解决方法
torch.cuda.is_available()返回False 1. 驱动版本低于CUDA要求;2. 安装了CPU版本 1. 用nvidia-smi查驱动支持的CUDA版本,重新选对应PyTorch版本;2. 卸载CPU版本,用官网GPU命令重装
Solving environment: failed Conda源速度慢或依赖冲突 1. 换国内源(见下文“conda换源技巧”);2. 用conda clean -a清理缓存后重试
ImportError: DLL load failed 缺少Visual C++运行时库 下载安装VC++ 2019运行时
nvidia-smi命令找不到 驱动未安装或未添加到环境变量 1. 重新安装驱动;2. 手动添加驱动路径到环境变量(如C:\Program Files\NVIDIA Corporation\NVSMI)

2. 方案二:CPU版本安装(无NVIDIA显卡用户)

CPU版本安装更简单,无需考虑驱动和CUDA,适合纯学习或小模型测试。

(1)安装步骤
  1. 官网获取命令:选择“Windows→Conda→Python→CPU”,复制命令;
  2. 执行命令
    conda install pytorch torchvision torchaudio cpuonly -c pytorch
    
  3. 验证
    import torch
    print(torch.__version__)  # 输出版本号即成功(CPU版本torch.cuda.is_available()返回False是正常的)
    

3. Windows专属优化:conda换源(解决下载慢问题)

国内用户直接用conda默认源下载速度慢,容易报错“Solving environment”,建议换成清华源或阿里源:

# 添加清华源
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/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
# 设置搜索时显示通道地址
conda config --set show_channel_urls yes

换源后重新执行安装命令,速度会提升3-5倍。

三、Linux安装详解(以Ubuntu 22.04为例,服务器首选)

Linux(尤其是Ubuntu)是深度学习服务器的主流系统,PyTorch安装比Windows更稳定,但需注意“驱动安装”和“权限问题”。

1. 方案一:GPU版本安装(服务器核心方案)

(1)前置条件
  • 系统:Ubuntu 20.04/22.04(LTS版本,稳定性好);
  • 显卡:NVIDIA显卡(如Tesla V100、RTX 4090);
  • 权限:有sudo权限(用于安装驱动和依赖)。
(2)详细步骤
  1. 安装NVIDIA驱动(比Windows更复杂,需谨慎)
    不建议用Ubuntu自带的“附加驱动”(版本旧,易冲突),推荐用NVIDIA官方.run文件安装:

    # 1. 禁用nouveau驱动(Ubuntu默认的开源NVIDIA驱动,会与官方驱动冲突)
    sudo echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
    sudo echo "options nouveau modeset=0" >> /etc/modprobe.d/blacklist.conf
    sudo update-initramfs -u
    # 2. 重启电脑
    sudo reboot
    # 3. 验证nouveau是否禁用(无输出则成功)
    lsmod | grep nouveau
    # 4. 下载对应驱动(去NVIDIA官网找型号匹配的.run文件,如NVIDIA-Linux-x86_64-535.104.05.run)
    # 5. 给.run文件加执行权限
    chmod +x NVIDIA-Linux-x86_64-535.104.05.run
    # 6. 安装驱动(--no-opengl-files避免安装OpenGL,防止桌面崩溃)
    sudo ./NVIDIA-Linux-x86_64-535.104.05.run --no-opengl-files
    # 7. 验证驱动
    nvidia-smi  # 显示显卡信息即成功
    
  2. 安装依赖库
    Ubuntu需要安装一些系统依赖,否则PyTorch可能无法编译:

    sudo apt update
    sudo apt install -y build-essential libssl-dev libffi-dev python3-dev
    
  3. 创建虚拟环境并安装PyTorch

    # 1. 创建虚拟环境
    conda create -n pytorch_env python=3.10 -y
    # 2. 激活环境
    source activate pytorch_env
    # 3. 官网获取命令(Ubuntu→Conda→Python→CUDA 12.1)
    conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
    
  4. 验证安装
    同Windows,执行Python代码检查torch.cuda.is_available()是否为True。

(3)Linux GPU安装常见报错及解决
报错信息 原因分析 解决方法
驱动安装后重启黑屏 安装了OpenGL,与桌面环境冲突 重新安装驱动,加上--no-opengl-files参数;若已黑屏,按Ctrl+Alt+F2进入命令行卸载驱动:sudo ./NVIDIA-XXX.run --uninstall
conda install时权限不足 Anaconda安装目录权限不够 1. 用sudo激活环境:sudo source activate pytorch_env;2. 重新安装Anaconda到用户目录(如~/anaconda3)
torch.version.cuda显示None 安装命令中未指定-c nvidia通道 重新执行带-c nvidia的命令,确保CUDA包从nvidia通道下载

2. 方案二:CPU版本安装(简单无依赖)

# 激活虚拟环境后执行
conda install pytorch torchvision torchaudio cpuonly -c pytorch
# 验证
python -c "import torch; print(torch.__version__)"

3. Linux专属技巧:用pip安装(适合无conda环境的服务器)

若服务器未装Anaconda,可用pip安装(需先装Python 3.8~3.11):

# 升级pip
pip install --upgrade pip
# 官网获取pip命令(Ubuntu→Pip→Python→CUDA 12.1)
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

四、Mac安装详解(Intel+Apple Silicon双架构适配)

Mac安装PyTorch分“Intel芯片”和“Apple Silicon(M1/M2/M3)”两种情况,Apple Silicon需要特殊适配。

1. 方案一:Apple Silicon(M1/M2/M3)安装(2020年后Mac首选)

Apple Silicon不支持CUDA,但PyTorch 1.12+提供专门版本,支持Metal加速,性能比Intel Mac的CPU版本快2-3倍。

(1)安装步骤
  1. 安装Miniforge(替代Anaconda,更好支持Apple Silicon)
    Anaconda对Apple Silicon的支持不完善,推荐用Miniforge(专为ARM架构优化):

    # 1. 下载Miniforge(Apple Silicon版本)
    curl -L -O https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-arm64.sh
    # 2. 安装
    bash Miniforge3-MacOSX-arm64.sh
    # 3. 重启终端,验证
    conda --version
    
  2. 创建虚拟环境并安装PyTorch

    # 1. 创建环境
    conda create -n pytorch_env python=3.10 -y
    # 2. 激活
    conda activate pytorch_env
    # 3. 官网获取命令(Mac→Conda→Python→CPU,会自动适配Apple Silicon)
    conda install pytorch torchvision torchaudio -c pytorch
    
  3. 验证Metal加速是否生效

    import torch
    print(torch.__version__)
    # 验证Metal是否可用(Apple Silicon专属)
    print(torch.backends.mps.is_available())  # 输出True则成功
    print(torch.backends.mps.is_built())  # 输出True则成功
    

2. 方案二:Intel芯片Mac安装(2020年前Mac)

步骤与Windows CPU版本类似,直接用官网命令:

# 1. 安装Anaconda(Intel版本)
# 2. 创建环境
conda create -n pytorch_env python=3.10 -y
conda activate pytorch_env
# 3. 安装PyTorch
conda install pytorch torchvision torchaudio -c pytorch
# 4. 验证
python -c "import torch; print(torch.__version__)"

3. Mac常见报错及解决

报错信息 原因分析 解决方法
ImportError: dlopen(...) image not found 安装了Intel版本的PyTorch,与Apple Silicon不兼容 卸载现有PyTorch,用Miniforge重新安装Apple Silicon版本
conda install时速度极慢 Miniforge默认源在国外 换清华源:conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
torch.backends.mps.is_available()返回False PyTorch版本低于1.12,不支持Metal 升级PyTorch到1.12及以上:conda install pytorch=2.4.1 -c pytorch

五、CUDA深度适配指南(解决90%的GPU调用问题)

很多人安装GPU版本后仍无法调用GPU,核心原因是“版本不匹配”——PyTorch、CUDA、CuDNN、驱动必须严格对应。这部分是重点,建议收藏。

1. 核心概念:CUDA版本的“两个误区”

新手常混淆“驱动支持的CUDA版本”和“PyTorch实际使用的CUDA版本”:

  • 驱动支持的CUDA版本:用nvidia-smi查看,如“CUDA Version: 12.4”表示驱动最高支持12.4,可安装≤12.4的CUDA版本;
  • PyTorch使用的CUDA版本:用torch.version.cuda查看,是PyTorch编译时使用的CUDA版本,必须≤驱动支持的版本。

:若nvidia-smi显示CUDA 12.4,可安装PyTorch CUDA 11.8、12.1、12.4版本,不能装12.5及以上。

2. PyTorch与CUDA版本对应表(2024年最新)

PyTorch版本 支持的CUDA版本 支持的Python版本 最低NVIDIA驱动版本
2.4.1 11.8、12.1、12.4 3.8~3.11 CUDA 11.8→520.61.05;CUDA 12.1→536.23;CUDA 12.4→550.54.15
2.3.1 11.8、12.1、12.4 3.8~3.11 同上
2.2.2 11.7、11.8、12.1 3.8~3.11 CUDA 11.7→515.65.01
2.0.1 11.7、11.8 3.8~3.11 CUDA 11.7→515.65.01
1.13.1 11.6、11.7、11.8 3.7~3.10 CUDA 11.6→510.39.01

建议:优先选“PyTorch 2.4.1 + CUDA 12.1”组合,兼容性最好,支持的显卡型号最多。

3. CuDNN安装(PyTorch GPU版本的“加速器”)

CuDNN是NVIDIA为深度学习优化的库,PyTorch GPU版本依赖它提升速度。通过conda安装PyTorch时会自动安装匹配的CuDNN,无需手动安装;若用pip安装,需手动下载:

  1. 下载地址:NVIDIA CuDNN官网(需注册NVIDIA账号);
  2. 选择与CUDA版本匹配的CuDNN(如CUDA 12.1对应CuDNN 8.9.7);
  3. 安装:
    • Windows:解压后将bin、lib、include文件夹复制到CUDA安装目录(如C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1);
    • Linux:解压后执行sudo cp -r * /usr/local/cuda-12.1/

4. CUDA相关高频报错终极解决

(1)报错:CUDA error: no kernel image is available for execution on the device
  • 原因:GPU算力低于PyTorch要求(如PyTorch 2.0+不支持算力<3.5的显卡);
  • 解决
    1. 查显卡算力,若<3.5,降级PyTorch到1.12及以下;
    2. 若算力≥3.5,重新安装对应CUDA版本的PyTorch(如RTX 3090算力8.6,支持CUDA 12.4)。
(2)报错:RuntimeError: CUDA out of memory
  • 原因:GPU显存不足(如用1050Ti 4G显存跑大模型);
  • 解决
    1. 减小batch_size(如从32改为8);
    2. torch.cuda.empty_cache()释放缓存;
    3. 改用更小的模型(如YOLOv8-nano替代YOLOv8-s)。
(3)报错:ImportError: cannot import name 'torch_cuda' from 'torch.backends'
  • 原因:安装的是CPU版本,却调用了GPU相关功能;
  • 解决:卸载CPU版本,用官网GPU命令重装。

我是南木 需要学习规划、就业指导、学习答疑和系统课程学习的小伙伴 欢迎扫码交流
在这里插入图片描述

Logo

免费领 100 小时云算力,进群参与显卡、AI PC 幸运抽奖

更多推荐