环境准备与依赖安装:Ubuntu系统要求、NVIDIA驱动与CUDA安装、Docker与NVIDIA Container Toolkit配置、Python环境与pip依赖

说实话,做Isaac Sim的Headless部署,环境配置这一步最容易被低估。很多人觉得不就是装个驱动、配个Docker嘛,结果一跑起来全是坑。我当年第一次在服务器上部署时,光CUDA版本不匹配就折腾了两天。嗯,咱们今天就把这事一次性说清楚。

核心原则:Isaac Sim Headless对底层环境有硬性要求。版本不对,后面全白费。请严格按照以下清单逐一核对。

2.1 Ubuntu系统要求

我个人习惯用Ubuntu 20.04 LTS或22.04 LTS。Isaac Sim官方对这两个版本支持最好。你想想看,一个仿真平台要调用的底层库太多了,系统版本太新或太旧都可能出兼容性问题。

项目 推荐配置 最低要求
操作系统 Ubuntu 22.04 LTS Ubuntu 20.04 LTS
内核版本 5.15+ 5.4+
磁盘空间 100GB+ (SSD) 50GB
内存 32GB+ 16GB
网络 千兆以太网 百兆

我的建议:如果你用的是云服务器(比如AWS、阿里云),选镜像时直接搜"Ubuntu 22.04 LTS"就好。别选Desktop版,Server版就够了,反正我们跑Headless。

2.2 NVIDIA驱动与CUDA安装

这是整个环境准备里最容易出问题的一环。我曾经在一台新服务器上装驱动,结果把系统搞崩了,最后只能重装。为什么会这样?因为驱动和内核版本没对上。

先检查你的显卡型号:

lspci | grep -i nvidia

然后安装驱动。我推荐用官方runfile方式,或者用Ubuntu的nvidia-driver-535包:

# 添加显卡驱动PPA
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

# 安装推荐驱动
sudo apt install nvidia-driver-535

# 重启
sudo reboot

# 验证
nvidia-smi

CUDA方面,Isaac Sim 2023.1版本要求CUDA 11.8。别装最新的12.x,我试过,跑不起来。

# 下载CUDA 11.8 runfile
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run

# 安装(注意不要装驱动,只装CUDA Toolkit)
sudo sh cuda_11.8.0_520.61.05_linux.run --toolkit --silent

# 配置环境变量
echo 'export PATH=/usr/local/cuda-11.8/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

# 验证
nvcc --version

避坑指南:我曾经在安装CUDA时勾选了"Install NVIDIA Driver",结果和系统已有的驱动冲突,导致nvidia-smi报错。记住:驱动和CUDA分开装,驱动用apt,CUDA用runfile的--toolkit选项。

2.3 Docker与NVIDIA Container Toolkit配置

Headless部署的核心就是Docker。说白了,我们把Isaac Sim打包进容器,这样不管换到哪台服务器,环境都一样。

安装Docker:

# 卸载旧版本
sudo apt remove docker docker-engine docker.io containerd runc

# 安装依赖
sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release

# 添加Docker官方GPG密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 设置仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装Docker Engine
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

# 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker

# 验证
sudo docker run hello-world

然后安装NVIDIA Container Toolkit。这一步很多人会忘,结果容器里调用不了GPU:

# 添加NVIDIA Container Toolkit仓库
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

# 安装
sudo apt update
sudo apt install nvidia-container-toolkit

# 重启Docker
sudo systemctl restart docker

# 验证(跑一个带GPU的容器)
sudo docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi

我的习惯:验证成功后,我会把当前用户加到docker组,这样就不用每次sudo了:sudo usermod -aG docker $USER。然后退出重新登录。

2.4 Python环境与pip依赖

Isaac Sim自带Python解释器,但我们在宿主机上还需要一些工具来管理容器和脚本。我个人习惯用Miniconda来隔离环境,但如果你不想装conda,直接用系统Python也行。

# 检查系统Python
python3 --version  # 需要3.8+

# 安装pip
sudo apt install python3-pip

# 安装必要工具
pip3 install --user docker-compose
pip3 install --user requests
pip3 install --user pyyaml

如果你用conda:

# 下载Miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh

# 创建环境
conda create -n isaac_env python=3.10
conda activate isaac_env

# 安装依赖
pip install docker-compose requests pyyaml

注意:Isaac Sim容器内部用的是Python 3.10,所以宿主机上最好也用3.10,避免版本不一致导致奇怪的问题。我遇到过因为Python版本不同,容器内外传递数据时编码报错的情况。

2.5 整体环境验证

所有东西装完后,我建议跑一个完整的验证流程:

  1. 驱动验证:nvidia-smi 显示GPU信息
  2. CUDA验证:nvcc --version 显示11.8
  3. Docker验证:docker run hello-world 正常输出
  4. GPU容器验证:docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi 显示GPU
  5. Python验证:python3 --version 显示3.8+

这五步都过了,环境就算准备好了。嗯,说实话,这一步花点时间把基础打牢,后面跑Isaac Sim的时候会省心很多。

环境准备与依赖安装 - 知识体系 Ubuntu 22.04 LTS NVIDIA驱动 + CUDA 11.8 Docker + Container Toolkit Python 3.10 + pip nvidia-smi 验证 docker run --gpus all python3 --version ✅ 环境就绪,可运行Isaac Sim 提示:每个环节都可用 nvidia-smi / docker run / python3 三步验证,缺一不可

环境准备这块,说白了就是三板斧:系统、驱动、容器。每一步都有对应的验证命令,别偷懒。我见过太多人装完驱动就跑Isaac Sim,结果报错"Unable to initialize CUDA",回头一看驱动版本不对。嗯,咱们把基础打牢,后面就顺畅了。