在 Ubuntu 24.04 LTS 上正确安装 PyTorch(推荐使用 CUDA 提速版本,兼顾性能与兼容性),请按以下步骤操作。Ubuntu 24.04 默认搭载较新的内核(6.8+)、GCC 13 和 Python 3.12,需特别注意 PyTorch 官方支持状态和 CUDA 兼容性。
✅ 截至 2024 年 7 月的推荐方案:
PyTorch 2.3+ 已官方支持 Ubuntu 24.04(含 Python 3.12),且支持 CUDA 12.1/12.4(推荐 CUDA 12.1,稳定性最佳)。NVIDIA 驱动需 ≥ 535(推荐 535.129.03 或更新)。
✅ 步骤 1:确认系统环境与 NVIDIA 驱动
# 检查 Ubuntu 版本(应为 24.04)
lsb_release -a
# 检查 GPU 和驱动(必须!无 GPU 可跳过 CUDA 步骤,用 CPU 版)
nvidia-smi
# ✅ 若报错 "NVIDIA-SMI has failed" → 需先安装官方驱动(见下方小节)
# 检查 Python(Ubuntu 24.04 默认为 3.12)
python3 --version # 应为 Python 3.12.x
⚠️ 若
nvidia-smi不工作(无驱动):# 添加官方图形驱动 PPA(推荐) sudo apt update && sudo apt install -y software-properties-common sudo add-apt-repository ppa:graphics-drivers/ppa -y sudo apt update # 推荐安装驱动(自动选择稳定版,如 535) sudo ubuntu-drivers autoinstall sudo reboot
✅ 步骤 2:安装 CUDA Toolkit(可选但强烈推荐)
Ubuntu 24.04 的 nvidia-cuda-toolkit 包(来自仓库)不完整且版本旧(12.0),不推荐使用。应使用 NVIDIA 官方 .deb (network) 方式安装 CUDA 12.1(PyTorch 2.3 官方预编译包所依赖):
# 下载 CUDA 12.1(兼容 Ubuntu 24.04 + kernel 6.8)
wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run
sudo sh cuda_12.1.1_530.30.02_linux.run
# ⚠️ 安装时:取消勾选 "NVIDIA Driver"(避免覆盖已装驱动!只勾选 CUDA Toolkit & Samples)
# 安装路径默认 `/usr/local/cuda-12.1`
✅ 配置环境变量(添加到 ~/.bashrc 或 ~/.zshrc):
echo 'export PATH=/usr/local/cuda-12.1/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
nvcc --version # 应输出 12.1.112
💡 提示:PyTorch 2.3+ 预编译二进制已内置
libcudnn.so.8,无需单独安装 cuDNN(除非你需高级功能)。
✅ 步骤 3:创建虚拟环境(强烈推荐)
避免污染系统 Python:
sudo apt install -y python3-venv python3-pip
python3 -m venv ~/torch-env
source ~/torch-env/bin/activate
pip install -U pip # 升级 pip 至最新
✅ 步骤 4:安装 PyTorch(官方推荐命令)
访问 https://pytorch.org/get-started/locally/ → 选择:
- OS: Linux
- Package: Pip
- Language: Python
- CUDA:
12.1(⚠️ 不要选 12.4 —— PyTorch 2.3 尚未提供官方 12.4 预编译包)
👉 执行生成的命令(2024年7月有效):
# ✅ PyTorch 2.3.1 + CUDA 12.1(最稳定组合)
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
✅ 验证安装:
python3 -c " import torch print(f'PyTorch {torch.__version__}') print(f'GPU available: {torch.cuda.is_available()}') if torch.cuda.is_available(): print(f'GPU count: {torch.cuda.device_count()}') print(f'Current device: {torch.cuda.get_device_name(0)}') "✅ 输出应类似:
PyTorch 2.3.1+cu121 GPU available: True GPU count: 1 Current device: NVIDIA RTX 4090
🧩 可选增强(提升开发体验)
# 安装常用科学计算库
pip install numpy pandas matplotlib scikit-learn jupyter
# 安装 PyTorch Lightning(推荐用于工程化训练)
pip install lightning
# 安装 Hugging Face Transformers(NLP 必备)
pip install transformers datasets accelerate
# (可选)启用 PyTorch 编译优化(需 GCC 13+,Ubuntu 24.04 自带)
export TORCH_CUDA_ARCH_LIST="8.6" # 如 RTX 30/40 系列(Ampere/Ada)
❌ 常见错误与避坑指南
| 问题 | 原因 | 解决 |
|---|---|---|
torch.cuda.is_available() == False |
驱动版本过低 / CUDA 路径未配置 / 显卡不支持 CUDA | nvidia-smi 查驱动;nvcc -V 查 CUDA;检查 LD_LIBRARY_PATH |
ImportError: libcudnn.so.8: cannot open shared object file |
cuDNN 缺失(但 PyTorch 2.3+ 已静态链接,极少发生) | 一般无需处理;若真缺失,从 NVIDIA 下载 cuDNN 8.9.7 for CUDA 12.1 |
pip install torch 安装了 CPU 版 |
未指定 index-url,pip 降级到 CPU 版 | 务必使用 --index-url https://download.pytorch.org/whl/cu121 |
No module named 'torch' 在系统 Python 中 |
忘记 source ~/torch-env/bin/activate |
激活虚拟环境后再运行 Python |
🌐 无 GPU?安装 CPU 版(仅开发/测试用)
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
⚠️ 注意:CPU 版速度极慢,不适用于实际模型训练,仅用于代码调试或轻量推理。
✅ 总结:Ubuntu 24.04 LTS 上 PyTorch 最佳实践
| 组件 | 推荐版本 | 备注 |
|——–|————|——|
| NVIDIA 驱动 | ≥ 535.129.03 | ubuntu-drivers autoinstall |
| CUDA | 12.1.1 | 官方 .run 安装,勿用系统包 |
| PyTorch | 2.3.1+cu121 | pip install ... --index-url https://download.pytorch.org/whl/cu121 |
| Python | 3.12(系统默认) | 官方完全支持 |
| 环境管理 | venv | 避免权限与依赖冲突 |
如需进一步支持(如 Docker 部署、Conda 方案、或自编译 PyTorch),欢迎继续提问!🚀
PHPWP博客