首先确保系统包是最新的,避免因旧版本冲突导致依赖问题。执行以下命令更新包列表并升级现有包:
sudo apt update && sudo apt upgrade -y
接着安装PyTorch所需的基础开发工具(编译、构建)、线性代数库(矩阵运算)、图像/视频编解码库(处理多媒体数据)及Python环境工具:
sudo apt install -y build-essential cmake git libopenblas-dev liblapack-dev libjpeg-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev libswscale-dev python3-dev python3-pip
这些依赖是PyTorch正常运行的底层支撑,缺失会导致编译或导入错误(如libblas.so.3
缺失)。
为避免项目依赖冲突,建议使用虚拟环境隔离PyTorch及其依赖。推荐使用venv
(Python内置)或conda
(Anaconda/Miniconda):
python3 -m venv pytorch_env # 创建虚拟环境
source pytorch_env/bin/activate # 激活环境(激活后终端提示符会显示环境名)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh # 按提示完成安装
然后创建conda环境:conda create -n pytorch_env python=3.8 # 指定Python版本(建议3.8-3.10)
conda activate pytorch_env
根据是否有NVIDIA GPU选择安装方式:
pip3 install torch torchvision torchaudio
sudo apt install nvidia-driver
)和CUDA Toolkit(建议版本参考PyTorch官网,如11.8),再通过pip安装带CUDA的PyTorch:pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 # 替换cu118为你的CUDA版本
或使用conda安装(自动处理CUDA依赖):conda install pytorch torchvision torchaudio cudatoolkit=11.8 -c pytorch -c nvidia
BLAS库缺失(如libblas.so.3
错误):
PyTorch依赖BLAS库进行矩阵运算,若系统未安装或版本不匹配,会报ImportError: libblas.so.3: cannot open shared object file
。解决方法:
sudo apt install libopenblas-base # 安装OpenBLAS(推荐,性能优于Netlib BLAS)
sudo ldconfig # 更新动态链接库缓存(使系统识别新库)
若已安装其他BLAS版本(如Netlib BLAS),可创建符号链接强制指向libblas.so.3
:
sudo ln -s /usr/lib/libopenblas.so.0 /usr/lib/libblas.so.3
sudo ldconfig
CUDA版本不兼容:
若PyTorch版本与CUDA版本不匹配(如PyTorch 2.1需CUDA 11.8),会报CUDA error: no kernel image is available for execution on the device
。解决方法:
sudo apt install cuda-11-8
);安装完成后,在Python解释器中运行以下代码,验证PyTorch是否正常工作及CUDA是否可用:
import torch
print("PyTorch版本:", torch.__version__) # 输出版本号(如2.1.0)
print("CUDA可用性:", torch.cuda.is_available()) # GPU版本应输出True
若输出符合预期,则说明依赖问题已解决,可开始使用PyTorch进行深度学习开发。