Colab中安装torch==1.8.0+cu111失败,求解决方案
安装torch==1.8.0+cu111在Colab中失败的问题及解决方法
问题背景
在Colab笔记本中尝试安装带CUDA支持的PyTorch(torch==1.8.0+cu111),环境CUDA版本为11.8,显卡为NVIDIA 1650Ti,执行代码后触发版本匹配错误。
触发错误的代码
import subprocess CUDA_version = [s for s in subprocess.check_output(["nvcc", "--version"]).decode("UTF-8").split(", ") if s.startswith("release")][0].split(" ")[-1] print("CUDA version:", CUDA_version) if CUDA_version == "10.1": torch_version_suffix = "+cu101" elif CUDA_version == "10.2": torch_version_suffix = "+cu102" else: torch_version_suffix = "+cu111" # pip install torch==1.7.0 -f https://download.pytorch.org/whl/torch_stable.html !pip install torch==1.8.0{torch_version_suffix} torchvision==0.9.0{torch_version_suffix} -f https://download.pytorch.org/whl/torch_stable.html ftfy reg
错误信息
Could not find a version that satisfies the requirement torch==1.8.0+cu111 (from versions: 1.11.0, 1.11.0+cpu, 1.11.0+cu102, 1.11.0+cu113, 1.11.0+cu115, 1.11.0+rocm4.3.1, 1.11.0+rocm4.5.2, 1.12.0, 1.12.0+cpu, 1.12.0+cu102, 1.12.0+cu113, 1.12.0+cu116, 1.12.0+rocm5.0, 1.12.0+rocm5.1.1, 1.12.1, 1.12.1+cpu, 1.12.1+cu102, 1.12.1+cu113, 1.12.1+cu116, 1.12.1+rocm5.0, 1.12.1+rocm5.1.1, 1.13.0, 1.13.0+cpu, 1.13.0+cu116, 1.13.0+cu117, 1.13.0+cu117.with.pypi.cudnn, 1.13.0+rocm5.1.1, 1.13.0+rocm5.2, 1.13.1, 1.13.1+cpu, 1.13.1+cu116, 1.13.1+cu117, 1.13.1+cu117.with.pypi.cudnn, 1.13.1+rocm5.1.1, 1.13.1+rocm5.2, 2.0.0, 2.0.0+cpu, 2.0.0+cpu.cxx11.abi, 2.0.0+cu117, 2.0.0+cu117.with.pypi.cudnn, 2.0.0+cu118, 2.0.0+rocm5.3, 2.0.0+rocm5.4.2, 2.0.1, 2.0.1+cpu, 2.0.1+cpu.cxx11.abi, 2.0.1+cu117, 2.0.1+cu117.with.pypi.cudnn, 2.0.1+cu118, 2.0.1+rocm5.3, 2.0.1+rocm5.4.2) ERROR: No matching distribution found for torch==1.8.0+cu111
问题原因
- 包源缺失:PyTorch 1.8.0+cu111的预编译包已从默认PyPI源移除,错误信息里列出的可用版本最低为1.11.0,说明旧版本的特定CUDA后缀包不在默认检索范围内。
- 源层面版本不匹配:当前Colab环境CUDA版本为11.8,而torch==1.8.0+cu111是针对CUDA 11.1编译的,虽然CUDA本身支持向下兼容,但pip无法在默认源中找到对应包。
解决方法
方法一:指定CUDA 11.1专属的PyTorch下载源
修改pip安装命令,明确指向CUDA 11.1的whl仓库,让pip能定位到旧版本包:
!pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 -f https://download.pytorch.org/whl/cu111/torch_stable.html ftfy reg
原理:将原命令中的通用torch_stable.html替换为CUDA 11.1的特定目录,直接定位到旧版本包的存储位置。
方法二:手动下载whl包后安装
- 先确认Colab的Python版本(执行
!python --version),PyTorch 1.8.0支持Python 3.6-3.9。 - 下载对应Python版本的whl包:
- torch包:
torch-1.8.0+cu111-cpXX-cpXX-linux_x86_64.whl(XX为Python版本号,比如3.8对应cp38) - torchvision包:
torchvision-0.9.0+cu111-cpXX-cpXX-linux_x86_64.whl
- torch包:
- 使用pip安装本地包:
# 示例:Python 3.8版本 !pip install torch-1.8.0+cu111-cp38-cp38-linux_x86_64.whl torchvision-0.9.0+cu111-cp38-cp38-linux_x86_64.whl ftfy reg
注意事项
不建议降级Colab的系统CUDA版本到11.1,因为Colab是托管环境,修改系统级组件会带来兼容性问题,操作成本远高于直接安装对应whl包。
内容的提问来源于stack exchange,提问作者scythe
相关产品推荐
相关产品推荐

