Nvidia Isaac Sim 3 - Python 环境安装
本节涵盖以下内容:
- 在(虚拟)Python 环境中使用 PIP 安装 Isaac Sim。
- 使用 Isaac Sim 默认 Python 环境。
1. 使用 PIP 安装 Isaac Sim
注意:
- Isaac Sim 要求使用 Python 3.11。访问 Python 下载页面(https://www.python.org/downloads/)获取合适的版本。
- 在 Linux 系统上,
pip需要 GLIBC 2.35 或更高版本(manylinux_2_35_x86_64)才能发现及安装 Python 包。可使用ldd --version命令检查 GLIBC 版本。
- 在 Windows 系统上,可能需要启用长路径(https://pip.pypa.io/warnings/enable-long-paths)支持,避免因操作系统限制而导致安装错误。
Isaac Sim 提供多个 Python 命名空间包,支持使用 Python 包管理器(比如 pip)按需组合构建 Isaac Sim 应用。下表列出可用的 Isaac Sim Python 包。
主 Python 包:
| Package | Description |
|---|---|
isaacsim | 元包,定义用于安装部分或全部其他 Python 包的可选依赖 |
isaacsim-kernel | Isaac Sim 内核 |
isaacsim-app | 用于应用设置的 Isaac Sim 组件 |
isaacsim-asset | 用于资源导入、创建及管理的 Isaac Sim 组件 |
isaacsim-benchmark | 用于基准测试的 Isaac Sim 组件 |
isaacsim-code-editor | 用于脚本编写和代码编辑的 Isaac Sim 组件 |
isaacsim-core | Isaac Sim 核心扩展及 API |
isaacsim-cortex | 用于启用 Cortex 决策框架,实现智能机器人行为的 Isaac Sim 组件 |
isaacsim-example | Isaac Sim 示例 |
isaacsim-gui | 用于图形用户界面(GUI)的 Isaac Sim 组件 |
isaacsim-replicator | 用于启用 Replicator 框架,构建合成数据生成管线和服务的 Isaac Sim 组件 |
isaacsim-rl | 用于强化学习的 Isaac Sim 组件 |
isaacsim-robot | Isaac 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-template | Isaac Sim 模版 |
isaacsim-test | 用于测试的 Isaac Sim 组件 |
isaacsim-utils | Isaac Sim 工具包 |
缓存用于 Isaac Sim 的所有 Omniverse 扩展依赖的 Python 包:
| Package | Description |
|---|---|
isaacsim-extscache-kit | Isaac Sim 的 Kit 扩展缓存 |
isaacsim-extscache-kit-sdk | Isaac Sim 的 Kit-SDK 扩展缓存 |
isaacsim-extscache-physics | Isaac Sim 的物理扩展缓存 |
1.1. 使用 PIP 安装
- 创建及激活虚拟环境(可选,但强烈推荐)
conda create -n env_isaacsim python=3.11 conda activate env_isaacsim确保在激活环境后、开始安装前,将
pip更新到最新版本(pip install --upgrade pip)。
- 安装 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:
- 通过系统环境变量。
将环境变量
OMNI_KIT_ACCEPT_EULA设置为YES、Y或1(不区分大小写)后,解释器在运行时将不再提示接受 EULA。
- 响应提示。
首次导入
isaacsim时,运行时将弹出提示要求接受 EULA。一旦接受,以后将不再提示;如果不接受,将终止执行。
警告:
- 某些 Isaac Sim 扩展或示例所需的 Python 包,可能未包含在依赖中。可以使用
pip install DEPENDENCY_NAME命令进行安装。
- 在 DGX Spark / aarch64 架构上,为加载某些模块,可能需要预加载(
LD_PRELOAD)libgomp共享库。导入isaacsim包时将执行检查,可能显示包含预加载说明的提示信息。
2.1. 启动 Isaac Sim Experience
提示:
- 要启动(标准)Isaac Sim 应用,请在终端中运行
isaacsim命令。
安装过程将注册 Python 入口点 isaacsim,可用于启动 Experience(.kit)文件。
可通过以下方式指定 Experience 文件:
- 绝对或相对文件路径。
- 文件名(可带或不带
.kit扩展名;搜索路径:isaacsim/apps、omni/apps)。isaacsim path/to/experience_file.kit [arguments]
下表展示最常用的用于启动 Experience 的 Isaac Sim Python 包命令:
| Command | Description |
|---|---|
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.py2.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注意:
- 在 Notebook 中调用
SimulationApp.close方法将导致内核中断。
2.4. 生成 VS Code 设置
由于安装后形成的目录结构,VS Code IntelliSense(代码补全、参数信息和成员列表)默认无法工作。若要对某个工作区文件夹进行配置(定义用于导入解析的搜索路径、默认 Python 解释器路径以及其他设置),请运行以下命令:
python -m isaacsim --generate-vscode-settings说明:
- 该命令将在工作区文件夹中生成
.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