Debian 上解决 PyTorch 依赖问题的实用步骤
一、准备与隔离环境
- 更新系统并安装基础构建工具,避免编译或二进制依赖缺失:
- 命令:sudo apt update && sudo apt upgrade -y
- 命令:sudo apt install -y python3 python3-pip build-essential cmake git python3-dev
- 使用虚拟环境隔离依赖,减少与系统包冲突:
- venv:python3 -m venv pytorch-env && source pytorch-env/bin/activate
- conda:conda create -n pytorch_env python=3.8 或 3.9 && conda activate pytorch_env
- 升级构建工具以避免安装时报错:pip install --upgrade setuptools wheel。
二、选择与执行安装方式
- 使用 pip 安装(灵活、版本可控):
- CPU:pip install torch torchvision torchaudio
- GPU:先确认 CUDA 版本(nvcc --version),再安装匹配版本,例如:
- CUDA 11.8:pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu118
- CUDA 11.7:pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117
- 使用 conda 安装(自动处理依赖,推荐):
- CPU:conda install pytorch torchvision torchaudio cpuonly -c pytorch
- GPU:conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
- 版本匹配要点:确保 Python 版本满足要求(常见为 Python 3.8+),并且 torch / torchvision / torchaudio 三者版本保持一致(如均为 2.4.x)。
三、GPU 与系统库的关键配置
- 安装或确认 CUDA/cuDNN 与 PyTorch 版本匹配;若使用 conda,可直接安装 cudatoolkit,减少与系统 CUDA 的耦合。
- 正确设置环境变量(如使用系统 CUDA):
- 命令:export PATH=/usr/local/cuda/bin:$PATH
- 命令:export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
- 验证 GPU 是否可用(安装后执行):
- 命令:python -c “import torch; print(torch.version); print(torch.cuda.is_available())”
四、常见依赖问题快速排查
- 依赖冲突(多版本冲突、与系统包冲突):
- 使用 venv/conda 隔离;必要时用 pip install --upgrade 统一升级冲突包;优先选择官方推荐的版本组合安装。
- 版本不兼容(Python、CUDA、torch 三者不匹配):
- 检查 Python 版本(建议 3.8+);用 nvcc --version 确认 CUDA;按匹配关系选择 PyTorch 的 CUDA 标签版本(如 cu118)。
- 网络问题(下载慢或超时):
- 使用国内镜像源加速 pip:pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple;conda 可配置清华源。
- 权限问题(Permission denied):
- 优先在用户目录安装(不使用 sudo),或使用虚拟环境;必要时使用 --user 参数。
- 系统库版本过低(如 glibc 不满足):
- 谨慎升级系统库;可改用 CPU 版本或选择较老一点的 PyTorch 发行;也可考虑容器/conda 环境绕开系统库限制。
五、离线安装与验证
- 离线安装(适用于内网/无网环境):
- 联网机下载:pip download torch torchvision -d ./pytorch_packages --index-url https://download.pytorch.org/whl/cu118
- 拷到目标机安装:pip install --no-index --find-links=./pytorch_packages torch torchvision
- 安装后验证:
- 命令:python - <<‘PY’
import torch
print(“torch:”, torch.version)
print(“cuda:”, torch.cuda.is_available())
PY
- 若 GPU 版本返回 False,优先检查 CUDA/cuDNN 版本匹配与环境变量配置。