Conda + Mamba 极速安装 CUDA / NCCL 实战指南

本文适用于:需要在 Linux / 服务器 / Docker / GPU 环境中安装 CUDA、NCCL、PyTorch 的工程同学

目标:快、稳、不踩坑

背景问题

在实际工程中,直接使用 conda install cudatoolkit nccl 经常会遇到:

• Solving environment 卡很久(十几分钟甚至卡死)

• conda-forge + CUDA 依赖回溯极慢

• pip / conda 混装导致 NCCL、CUDA 动态库异常

根因并不是网络慢,而是 conda 的 Python solver 在处理复杂依赖时性能不足。

解决方案总览

核心思路:用 mamba 替代 conda 作为安装器,但仍然使用 conda 的仓库和环境体系。

• conda:负责环境管理

• mamba:负责依赖求解 + 安装

Step 1:在 base 环境安装 mamba(一次性)

conda install -y -n base -c conda-forge mamba

说明:

• 只需要安装一次

• 建议装在 base 环境

• 后续所有环境都可以直接使用 mamba

验证:

mamba --version

Step 2:使用 mamba 安装 CUDA / NCCL(关键步骤)

mamba install -y -c conda-forge cudatoolkit=11.8 nccl

特点:

• 通常 10~30 秒内完成

• 不会长时间卡在 Solving environment

• 安装的是 conda-forge 官方包

Step 3:安装 PyTorch(推荐方式)

mamba install -y -c pytorch -c nvidia pytorch pytorch-cuda=11.8 torchvision

说明:

• PyTorch 官方推荐渠道

• CUDA / NCCL / PyTorch 版本强一致

• 避免 pip CUDA / pip NCCL 引发的动态库问题

Step 4:安装完成后的校验

1️⃣ 检查 NCCL 动态库

ldconfig -p | grep libnccl

期望输出类似:

libnccl.so.2 (libc6,x86-64) => <conda_env>/lib/libnccl.so.2

2️⃣ 检查 CUDA 是否可用(PyTorch)

python - <<EOF

import torch

print(torch.cuda.is_available())

print(torch.version.cuda)

EOF

为什么 mamba 这么快?(简要原理)

• conda solver:Python 实现,回溯搜索,单线程

• mamba solver:C++(libsolv),SAT 求解,多线程

一句话总结:conda 在"试",mamba 在"算"。

在 CUDA / NCCL 这种依赖极深的场景下,性能差距往往是 数量级。

强烈建议(工程实践总结)

✅ 推荐做法

• GPU 相关依赖:

复制代码
◦   mamba install

◦   conda-forge / pytorch 官方渠道

• pip 只用于:

复制代码
◦   纯 Python 包

❌ 避免做法

• pip install nvidia-nccl-*

• pip install torch + conda CUDA 混用

• root 用户下反复 pip / conda 混装 GPU 栈

推荐使用模式(模板)

创建新环境(推荐)

mamba create -y -n gpu118 python=3.10

conda activate gpu118

GPU 栈

mamba install -y -c conda-forge cudatoolkit=11.8 nccl

mamba install -y -c pytorch -c nvidia pytorch pytorch-cuda=11.8 torchvision

业务依赖

pip install numpy pandas opencv-python

mamba 安装 PyTorch(CUDA / NCCL)完整流程总结

目标:在 Linux / 服务器 / GPU 环境中,用最快、最稳的方式安装 PyTorch(CUDA + NCCL 完整可用)

一句话结论

GPU 环境装 PyTorch:用 mamba,不用 conda solver,不用 pip

相关推荐
陈苏同学9 小时前
[已解决] Solving environment: failed with repodata from current_repodata.json (python其实已经被AutoDL装好了!)
linux·python·conda
skywalk81632 天前
在Windows10 安装了miniconda,执行conda报错:ModuleNotFoundError: No module named ‘conda‘
linux·前端·conda
TTGGGFF4 天前
UV详解:替代pip、conda的下一代Python包与环境管理工具
conda·pip·uv
寻梦csdn6 天前
pycharm+miniconda兼容问题
ide·python·pycharm·conda
hampeter7 天前
【填坑指南】Trae/VS Code 远程连接 Ubuntu,终端总是自动激活特定的 Conda 环境?三招教你彻底解决!
linux·ubuntu·conda·trae
403240737 天前
【Jetson开发避坑】虚拟环境(Conda/Venv)调用系统底层OpenCV与TensorRT的终极指南
人工智能·opencv·conda
qinyia8 天前
如何彻底卸载macOS上的conda并清理环境变量配置
macos·conda
weixin_421585018 天前
Mamba与Conda
conda
qq_273900239 天前
Apptainer 将 Ubuntu 本地 Conda 环境打包为 Singularity(SIF)镜像
linux·ubuntu·conda