PyTorch安装就报错?Windows/Linux/Mac三端保姆级安装+环境配置全攻略(附CUDA适配技巧)
大家好,我是南木。作为深度学习入门的第一道坎,PyTorch安装看似简单,实则藏着“版本匹配”“硬件适配”“环境依赖”三大坑。尤其是2024年PyTorch 2.4发布后,对CUDA、Python版本的要求更严格,很多老教程的方法已经失效。这篇文章结合我帮500+新手排查安装问题的经验,从“安装前准备→三端详细步骤→常见报错解决→CUDA深度适配”全流程,手把手教你一次装对PyTorch。包含三种
大家好,我是南木。作为深度学习入门的第一道坎,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。检查方法:
-
查看显卡型号:
- Windows:右键“此电脑”→“管理”→“设备管理器”→“显示适配器”,看是否有“NVIDIA GeForce XXX”(如RTX 3060、GTX 1650);
- Linux:终端输入
lspci | grep -i nvidia,有输出则为NVIDIA显卡; - Mac:2016年后的Mac大多用AMD显卡或Apple Silicon,不支持CUDA,只能装CPU版本或Apple Silicon专用版本。
-
检查显卡算力:
即使是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环境管理工具,能一键创建隔离的虚拟环境,避免依赖冲突。
-
下载地址:Anaconda官网(选对应系统的64位版本,Python 3.9或3.10版本,兼容性最好);
-
安装步骤:
- 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)。
-
验证安装:
打开终端(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月为例)
在官网页面按以下步骤选择:
- PyTorch Build:选“Stable (2.4.1)”(稳定版,新手首选);
- Your OS:选对应系统(Windows/Linux/Mac);
- Package:
- 推荐“Conda”(自动处理依赖,成功率高);
- 若选“Pip”,需确保pip版本≥20.3(可通过
pip install --upgrade pip升级);
- Language:选“Python”;
- 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)详细步骤
-
安装NVIDIA驱动(关键!)
很多人装了CUDA但驱动版本不够,导致PyTorch无法调用GPU。- 自动安装:打开“GeForce Experience”→“驱动程序”→“下载并安装”(推荐,自动匹配最新驱动);
- 手动安装:若没有GeForce Experience,去NVIDIA驱动下载页,选显卡型号、系统版本,下载“Game Ready驱动”并安装。
验证驱动:终端输入
nvidia-smi,显示显卡信息和“CUDA Version: XX.X”(如12.4,表示支持最高12.4版本的CUDA)。 -
获取PyTorch安装命令
官网选择“Windows→Conda→Python→CUDA 12.1”(推荐12.1,兼容性最好),复制命令。 -
执行安装命令
打开“Anaconda Prompt”,激活虚拟环境,粘贴命令:conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia等待安装完成(约5-15分钟,取决于网速),若提示“Proceed ([y]/n)?”,输入
y回车。 -
验证安装(必做!)
在虚拟环境中输入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)安装步骤
- 官网获取命令:选择“Windows→Conda→Python→CPU”,复制命令;
- 执行命令:
conda install pytorch torchvision torchaudio cpuonly -c pytorch - 验证:
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)详细步骤
-
安装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 # 显示显卡信息即成功 -
安装依赖库
Ubuntu需要安装一些系统依赖,否则PyTorch可能无法编译:sudo apt update sudo apt install -y build-essential libssl-dev libffi-dev python3-dev -
创建虚拟环境并安装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 -
验证安装
同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)安装步骤
-
安装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 -
创建虚拟环境并安装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 -
验证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安装,需手动下载:
- 下载地址:NVIDIA CuDNN官网(需注册NVIDIA账号);
- 选择与CUDA版本匹配的CuDNN(如CUDA 12.1对应CuDNN 8.9.7);
- 安装:
- 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的显卡);
- 解决:
- 查显卡算力,若<3.5,降级PyTorch到1.12及以下;
- 若算力≥3.5,重新安装对应CUDA版本的PyTorch(如RTX 3090算力8.6,支持CUDA 12.4)。
(2)报错:RuntimeError: CUDA out of memory
- 原因:GPU显存不足(如用1050Ti 4G显存跑大模型);
- 解决:
- 减小batch_size(如从32改为8);
- 用
torch.cuda.empty_cache()释放缓存; - 改用更小的模型(如YOLOv8-nano替代YOLOv8-s)。
(3)报错:ImportError: cannot import name 'torch_cuda' from 'torch.backends'
- 原因:安装的是CPU版本,却调用了GPU相关功能;
- 解决:卸载CPU版本,用官网GPU命令重装。
我是南木 需要学习规划、就业指导、学习答疑和系统课程学习的小伙伴 欢迎扫码交流
更多推荐


所有评论(0)