☰
PyTorch 离线安装实战:解决 pip 找不到 CUDA 版本的问题
2026/10/12 1:17:39 网站建设 项目流程

适用场景:内网环境 / 网络受限 / pip 官方源无对应 CUDA 版本
核心问题:在线pip install torch时默认源找不到匹配 CUDA 的 wheel 包
解决方案:从 PyTorch 官方离线仓库下载对应 whl 文件,本地 pip install


一、背景与问题

在 CentOS / Ubuntu 等 Linux 服务器上,直接用 pip 安装 PyTorch 时经常遇到这样的问题:

ERROR: Could notfinda version that satisfies the requirementtorch==1.10.0+cu111 ERROR: No matching distribution foundfortorch==1.10.0+cu111

这是因为PyPI 官方源上的 torch 包默认只带 CPU 版本,带 CUDA 的版本只发布在 PyTorch 官方的 whl 仓库里。网络受限或 pip 源未同步时,就会找不到。

解决思路很简单:手动从 PyTorch 官方 whl 仓库下载对应版本的.whl文件,离线安装。


二、下载离线 whl 包

2.1 找到正确的下载地址

PyTorch 官方离线仓库地址:

https://download.pytorch.org/whl/torch_stable.html

打开后按Ctrl+F搜索你需要的版本关键词,比如cu111+torch-1.10+cp38+linux。

2.2 版本号命名规则

以这个文件名为例:

torch-1.10.0+cu111-cp38-cp38-linux_x86_64.whl

字段含义对应你的环境
1.10.0+cu111Torch 版本 1.10.0,CUDA 11.1按需选择
cp38-cp38Python 3.8用python -V确认
linux_x86_64Linux 64 位用uname -m确认

💡 常见 CUDA 版本对应关系:cu102=CUDA 10.2,cu111=CUDA 11.1,cu113=CUDA 11.3,cu116=CUDA 11.6,cu118=CUDA 11.8,cu121=CUDA 12.1

2.3 直接下载

以CUDA 11.1 + Torch 1.10.0 + Python 3.8 + Linux x86_64为例:

直接用 wget 或 curl 下载

wgethttps://download.pytorch.org/whl/cu111/torch-1.10.0%2Bcu111-cp38-cp38-linux_x86_64.whl

或者用 curl

curl-Ohttps://download.pytorch.org/whl/cu111/torch-1.10.0%2Bcu111-cp38-cp38-linux_x86_64.whl

如果服务器没法直连外网,在本机浏览器打开链接下载后,再scp/rz传到服务器上。


三、安装步骤

3.1 准备 Python 环境(推荐 Miniconda)

如果你还没装 Python 环境,建议用 Miniconda 管理,避免和系统 Python 冲突。

Miniconda 下载地址:

https://repo.anaconda.com/miniconda/

选择对应系统的安装包,以Linux x86_64为例(当前最新版):

wgethttps://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

安装:

给执行权限

chmod+x Miniconda3-latest-Linux-x86_64.sh

执行安装(按提示一路 yes 或加 -b 静默安装)

shMiniconda3-latest-Linux-x86_64.sh-b-p/home/$USER/miniconda3

激活

source/home/$USER/miniconda3/bin/activate

创建独立环境

conda create-ntorch110python=3.8-yconda activate torch110

3.2 pip 离线安装 torch

进入 whl 文件所在目录

cd/path/to/whl/

安装(注意文件名不要有 %2B,实际下载后文件名是 +)

pipinstalltorch-1.10.0+cu111-cp38-cp38-linux_x86_64.whl

⚠️ 如果下载后的文件名中+被编码成了%2B,安装前先重命名:
mv torch-1.10.0%2Bcu111-cp38-cp38-linux_x86_64.whl torch-1.10.0+cu111-cp38-cp38-linux_x86_64.whl

如果需要 torchvision / torchaudio,也在同一个仓库里下载对应版本后一起装:

示例:torchvision 0.11.1 + cu111 + cp38

pipinstalltorchvision-0.11.1+cu111-cp38-cp38-linux_x86_64.whl

四、验证安装

python-c'import torch; print(torch.__version__); print(torch.cuda.is_available())'

预期输出:

1.10.0+cu111
True

如果cuda.is_available()返回False,检查:

确认系统 CUDA 驱动版本

nvidia-smi

确认 torch 编译时的 CUDA 版本

python-c'import torch; print(torch.version.cuda)'

torch 的 CUDA 版本(如 11.1)不需要和系统驱动完全一致,但驱动版本必须 ≥ torch 编译时的 CUDA 版本。比如驱动是 450+ 就能跑 CUDA 11.1。


五、踩坑清单

现象排查点
No matching distributionpip 源没同步 CUDA 版本,必须用离线 whl
pip install报文件名找不到%2B没替换成+,手动重命名
torch.cuda.is_available()返回 False驱动版本太低;或装了 CPU-only 的 whl(文件名里没 cuXXX)
ImportError: libcudart.so.X.Y系统 CUDA 没装或 LD_LIBRARY_PATH 没配
conda 环境里 pip 装完 import 报错确认 pip 是 conda 环境里的 pip:which pip
Python 版本不匹配cp38 对应 3.8,cp39 对应 3.9,下错版本会报not a supported wheel

六、小结

离线安装 PyTorch 就三步:

  1. 找对包:去https://download.pytorch.org/whl/torch_stable.html按 CUDA + Python + 系统筛选
  2. 下回来:wget 或浏览器下载,注意+号别被转义
  3. pip install:在目标环境里直接装 whl 文件

有问题的在评论区贴报错,我看到会回。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询