Ubuntu上解决PyTorch安装依赖问题的实用指南
一 环境准备与系统依赖
- 更新系统并安装基础编译与多媒体依赖:
- sudo apt update && sudo apt upgrade -y
- sudo apt install -y build-essential cmake git libopenblas-dev liblapack-dev python3-dev python3-pip
- 可选(涉及图像/视频数据处理时):sudo apt install -y libjpeg-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev libswscale-dev
- 确认 Python ≥ 3.6 与 pip 可用:
- python3 --version
- pip3 --version 或 python3 -m pip --version
- 必要时升级 pip:python3 -m pip install --upgrade pip
- 建议始终在虚拟环境中安装(venv 或 conda),避免与系统包冲突。
二 选择正确的安装方式
- GPU 版本(优先使用 conda 管理 CUDA 依赖,减少冲突)
- conda create -n torch-gpu python=3.10 -y
- conda activate torch-gpu
- 例如安装支持 CUDA 11.8 的版本:conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
- CPU 版本
- conda create -n torch-cpu python=3.10 -y
- conda activate torch-cpu
- conda install pytorch torchvision torchaudio cpuonly -c pytorch
- pip 方式(仅在明确 CUDA 版本时使用官方 whl)
- pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
- 如需 CPU:pip3 install torch torchvision torchaudio
- 安装后验证:
- python3 - <<‘PY’
import torch
print(“torch:”, torch.version)
print(“cuda:”, torch.cuda.is_available())
PY
三 常见依赖报错与修复
- “Could not build wheels for pytorch”
- 升级 pip:python3 -m pip install --upgrade pip
- 安装构建工具:sudo apt install -y build-essential cmake
- 清理并重试:pip3 install --no-cache-dir torch torchvision torchaudio
- 网络不稳定或下载超时
- 使用国内镜像(pip):pip3 install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple
- 或使用 conda 镜像(如清华/中科大),提升稳定性
- CUDA 未安装或版本不匹配
- 查看驱动与 CUDA:nvidia-smi(右上显示 Supported/Runtime CUDA)
- 若未安装或版本不符,按官方指引安装对应 CUDA 与 cuDNN,或改用 CPU 版本
- 依赖库缺失(常见于源码/特定功能)
- 按报错提示安装缺失包,例如:conda/pip install pyyaml、typing-extensions、pillow 等
- GPU 太旧不被当前 PyTorch 支持
- 选择支持旧卡的旧版 PyTorch,或改用 CPU 模式以保证可用性。
四 GPU 与 CUDA 版本匹配要点
- 用 nvidia-smi 确认驱动与“Supported/Runtime CUDA”,用 nvcc --version 确认 Toolkit 版本;两者共同决定可用的 PyTorch CUDA 版本。
- 若驱动较新但 CUDA 不匹配,优先使用 conda 安装自带的 cudatoolkit(避免系统级冲突);或调整 PyTorch 版本以匹配现有 CUDA。
- 若 GPU 架构过旧,无法使用新 CUDA,选择旧版 PyTorch 或 CPU 版本是稳妥方案。
五 无 root 与离线环境的替代方案
- 无 root:使用 Miniconda/Anaconda 创建用户级虚拟环境,在该环境中用 conda/pip 安装 PyTorch 及其依赖,无需系统权限。
- 离线:在有网环境预先下载对应版本的 .whl 或源码包,拷贝到目标机器后 pip 安装;必要时提前安装常见依赖(如 numpy、pillow、typing-extensions)以避免构建失败。