Nvidia Isaac Sim 3 - Python 环境安装

本节涵盖以下内容:

  • 在(虚拟)Python 环境中使用 PIP 安装 Isaac Sim。
  • 使用 Isaac Sim 默认 Python 环境。

1. 使用 PIP 安装 Isaac Sim

注意:

  • 在 Linux 系统上,pip 需要 GLIBC 2.35 或更高版本(manylinux_2_35_x86_64)才能发现及安装 Python 包。可使用 ldd --version 命令检查 GLIBC 版本。

Isaac Sim 提供多个 Python 命名空间包,支持使用 Python 包管理器(比如 pip)按需组合构建 Isaac Sim 应用。下表列出可用的 Isaac Sim Python 包。

主 Python 包:

PackageDescription
isaacsim元包,定义用于安装部分或全部其他 Python 包的可选依赖
isaacsim-kernelIsaac Sim 内核
isaacsim-app用于应用设置的 Isaac Sim 组件
isaacsim-asset用于资源导入、创建及管理的 Isaac Sim 组件
isaacsim-benchmark用于基准测试的 Isaac Sim 组件
isaacsim-code-editor用于脚本编写和代码编辑的 Isaac Sim 组件
isaacsim-coreIsaac Sim 核心扩展及 API
isaacsim-cortex用于启用 Cortex 决策框架,实现智能机器人行为的 Isaac Sim 组件
isaacsim-exampleIsaac Sim 示例
isaacsim-gui用于图形用户界面(GUI)的 Isaac Sim 组件
isaacsim-replicator用于启用 Replicator 框架,构建合成数据生成管线和服务的 Isaac Sim 组件
isaacsim-rl用于强化学习的 Isaac Sim 组件
isaacsim-robotIsaac Sim 的机器人模型及 API
isaacsim-robot-motion用于运动生成管线和算法的 Isaac Sim 组件
isaacsim-robot-setup用于机器人设置的 Isaac Sim 组件
isaacsim-ros2用于 ROS 2 系统集成的 Isaac Sim 组件
isaacsim-sensor用于模拟传感器的 Isaac Sim 组件
isaacsim-storage用于存储系统的 Isaac Sim 组件
isaacsim-templateIsaac Sim 模版
isaacsim-test用于测试的 Isaac Sim 组件
isaacsim-utilsIsaac Sim 工具包

缓存用于 Isaac Sim 的所有 Omniverse 扩展依赖的 Python 包:

PackageDescription
isaacsim-extscache-kitIsaac Sim 的 Kit 扩展缓存
isaacsim-extscache-kit-sdkIsaac Sim 的 Kit-SDK 扩展缓存
isaacsim-extscache-physicsIsaac Sim 的物理扩展缓存

1.1. 使用 PIP 安装

  1. 创建及激活虚拟环境(可选,但强烈推荐)
    conda create -n env_isaacsim python=3.11
    conda activate env_isaacsim

    确保在激活环境后、开始安装前,将 pip 更新到最新版本(pip install --upgrade pip)。

  1. 安装 Isaac Sim Python 包
    pip install isaacsim[all,extscache]==5.1.0 --extra-index-url https://pypi.nvidia.com

    可以通过命令 pip show isaacsim 查询安装路径。


2. 运行 Isaac Sim

说明:

使用 Isaac Sim 时,必须同意且接受 Omniverse License Agreement(EULA)。可以通过两种方式接受 EULA:

  1. 通过系统环境变量。

    将环境变量 OMNI_KIT_ACCEPT_EULA 设置为 YESY 或 1(不区分大小写)后,解释器在运行时将不再提示接受 EULA。

  1. 响应提示。

    首次导入 isaacsim 时,运行时将弹出提示要求接受 EULA。一旦接受,以后将不再提示;如果不接受,将终止执行。

警告:

  1. 某些 Isaac Sim 扩展或示例所需的 Python 包,可能未包含在依赖中。可以使用 pip install DEPENDENCY_NAME 命令进行安装。
  1. 在 DGX Spark / aarch64 架构上,为加载某些模块,可能需要预加载(LD_PRELOADlibgomp 共享库。导入 isaacsim 包时将执行检查,可能显示包含预加载说明的提示信息。

2.1. 启动 Isaac Sim Experience

提示:

  1. 要启动(标准)Isaac Sim 应用,请在终端中运行 isaacsim 命令。

安装过程将注册 Python 入口点 isaacsim,可用于启动 Experience(.kit)文件。

可通过以下方式指定 Experience 文件:

  1. 绝对或相对文件路径。
  1. 文件名(可带或不带 .kit 扩展名;搜索路径:isaacsim/appsomni/apps)。
    isaacsim path/to/experience_file.kit [arguments]

下表展示最常用的用于启动 Experience 的 Isaac Sim Python 包命令:

CommandDescription
isaacsim isaacsim.exp.compatibility_check兼容性检查应用:用于以编程方式检查 Isaac Sim 的运行要求的轻量级应用。
isaacsim isaacsim.exp.full标准 Isaac Sim 应用,与通过二进制启动时的行为一致。若未指定 Experience 文件(比如直接运行 isaacsim 命令),将使用默认 Experience。
isaacsim isaacsim.exp.full.streaming --no-window无头模式下通过 WebRTC 协议流式传输 Isaac Sim。
警告:不支持 DGX Spark / aarch64 架构

2.2. 运行 Python 脚本

在(虚拟)环境中运行如下命令执行 Python 脚本:

python path/to/script.py

2.3. 在交互式解释器或 Notebook 中运行

在交互式解释器或 Notebook(比如 Jupyter、Colab)中运行时,必须导入 isaacsim 包才能访问 SimulationApp 类。为方便使用,isaacsim 包对外暴露该类(其实现位于 isaacsim.simulation_app 扩展中)。

from isaacsim import SimulationApp

simulation_app = SimulationApp({"headless": True})
# perform any Isaac Sim / Omniverse imports after instantiating the class

import isaacsim
from isaacsim.simulation_app import SimulationApp

simulation_app = SimulationApp({"headless": True})
# perform any Isaac Sim / Omniverse imports after instantiating the class

注意:

  1. 在 Notebook 中调用 SimulationApp.close 方法将导致内核中断。

2.4. 生成 VS Code 设置

由于安装后形成的目录结构,VS Code IntelliSense(代码补全、参数信息和成员列表)默认无法工作。若要对某个工作区文件夹进行配置(定义用于导入解析的搜索路径、默认 Python 解释器路径以及其他设置),请运行以下命令:

python -m isaacsim --generate-vscode-settings

说明:

  1. 该命令将在工作区文件夹中生成 .vscode/settings.json 文件。如果该文件已经存在,那么将被覆盖(覆盖前先显示确认提示)。

3. 默认 Python 环境

Isaac Sim 不仅可以作为独立可执行程序运行,还可以直接通过 Python 原生启动。后一种方式可以更细粒度地控制 Omniverse 应用程序的初始化、配置及管理。Isaac Sim 内置 Python 3.11 环境,软件包可以直接使用它,与系统级的 Python 安装类似。建议使用该 Python 环境运行 Python 脚本。

从 Isaac Sim 根目录运行以下命令,即可在该环境中启动 Python 脚本:

./python.sh path/to/script.py

注意:

  • 可以通过 Isaac Sim App Selector 直接在 Isaac Sim 根目录打开终端。
  • 在 Windows 上,请使用 python.bat,而不是 python.sh
  • 如果需要使用 pip 安装额外软件包,请运行以下命令:
    ./python.sh -m pip install name_of_package_here