Python Environment Installation

This section presents the following contents:

Install Isaac Sim using PIP

Warning

The feature described in this section is in an experimental stage and errors or unexpected results may occur!

Note

Isaac Sim requires Python 3.10. Visit the Python download page to get a suitable version.

Isaac Sim provides several Python namespace packages that allow to compose an Isaac Sim app by parts using a Python package manager (e.g.: pip). The following tables list the available Isaac Sim - Python packages.

Main Python packages

Python package name

Description

isaacsim

A metapackage that installs the complete version (all the other main Python packages) of Isaac Sim

isaacsim-kernel

Isaac Sim kernel

isaacsim-app

Isaac Sim components for application setup

isaacsim-asset

Isaac Sim components for asset import, creation and management

isaacsim-benchmark

Isaac Sim components for benchmarking

isaacsim-code-editor

Isaac Sim components for scripting and code edition

isaacsim-core

Isaac Sim core extensions and APIs

isaacsim-cortex

Isaac Sim components to enable the Cortex decision framework for intelligent robot behavior

isaacsim-example

Isaac Sim examples

isaacsim-gui

Isaac Sim components for the graphical user interface (GUI)

isaacsim-replicator

Isaac Sim components to enable the Replicator framework for synthetic data generation pipelines and services

isaacsim-rl

Isaac Sim components for reinforcement learning

isaacsim-robot

Isaac Sim’s robot models and APIs

isaacsim-robot-motion

Isaac Sim components for motion generation pipelines and algorithms

isaacsim-robot-setup

Isaac Sim components for robot setup

isaacsim-ros1

Isaac Sim components for ROS 1 system integration

isaacsim-ros2

Isaac Sim components for ROS 2 system integration

isaacsim-sensor

Isaac Sim components to simulate sensors

isaacsim-storage

Isaac Sim components for storage system

isaacsim-template

Isaac Sim templates

isaacsim-test

Isaac Sim components for testings

isaacsim-utils

Isaac Sim utilities

Python packages that cache all the Omniverse extension dependencies for Isaac Sim

Python package name

Description

isaacsim-extscache-kit

Kit extensions cache for Isaac Sim

isaacsim-extscache-kit-sdk

Kit-SDK extensions cache for Isaac Sim

isaacsim-extscache-physics

Physics extensions cache for Isaac Sim

Installation using PIP

Note

Installation using Python package managers does not include Nucleus. If Nucleus is needed, the recommended way to get it is via the Omniverse Launcher.

  1. Create and activate the virtual environment (optional, but highly recommended):

    python3.10 -m venv env_isaacsim
    source env_isaacsim/bin/activate
    
    python3.10 -m venv env_isaacsim
    env_isaacsim\Scripts\activate
    
    conda create -n env_isaacsim python=3.10
    conda activate env_isaacsim
    

    Make sure pip is updated (pip install --upgrade pip) after activating the environment and before proceeding with installation.

  2. Install Isaac Sim - Python packages

    pip install isaacsim --extra-index-url https://pypi.nvidia.com
    
    pip install isaacsim-PACKAGE_SUBNAME --extra-index-url https://pypi.nvidia.com
    
    !pip install isaacsim --extra-index-url https://pypi.nvidia.com
    
    !pip install isaacsim-PACKAGE_SUBNAME --extra-index-url https://pypi.nvidia.com
    

    The installation path can be queried with the command pip show isaacsim.

  3. Install Isaac Sim - Python packages cached extension dependencies (optional)

    Isaac Sim depends on several Omniverse extensions that are not included in the main python packages. These dependencies will be downloaded from the Omniverse registry, at demand, if they are not found at runtime. However, it is possible to install these dependencies manually, through the following command, and thus avoid future downloads from the registers.

    pip install isaacsim-extscache-physics isaacsim-extscache-kit isaacsim-extscache-kit-sdk --extra-index-url https://pypi.nvidia.com
    
    !pip install isaacsim-extscache-physics isaacsim-extscache-kit isaacsim-extscache-kit-sdk --extra-index-url https://pypi.nvidia.com
    

Running Isaac Sim

Note

It is necessary to agree and accept the Omniverse License Agreement (EULA) in order to use Isaac Sim. The EULA can be accepted in two ways, through system environment variables or by responding to a prompt:

The first time isaacsim is imported, a prompt will ask about accepting the EULA at runtime. Once the EULA is accepted, it should not appear on subsequent Isaac Sim calls. If the EULA is not accepted, the execution will be terminated.

By installing or using Omniverse Kit, I agree to the terms of NVIDIA OMNIVERSE LICENSE AGREEMENT (EULA)
in https://docs.omniverse.nvidia.com/platform/latest/common/NVIDIA_Omniverse_License_Agreement.html

Do you accept the EULA? (Yes/No):

By setting the OMNI_KIT_ACCEPT_EULA environment variable to YES, Y or 1 (case insensitive), the interpreter will not prompt for EULA acceptance at runtime.

export OMNI_KIT_ACCEPT_EULA=YES
set OMNI_KIT_ACCEPT_EULA=YES

Add the following statements at the beginning of the script or notebook cell before importing isaacsim:

import os
os.environ["OMNI_KIT_ACCEPT_EULA"] = "YES"

Note

First time running Isaac Sim may take several minutes due to the download of dependency extensions from the Omniverse registry. To avoid this, it is possible to install the packages with the cached extensions (isaacsim-extscache-physics, isaacsim-extscache-kit and isaacsim-extscache-kit-sdk) as described in the installation section (step number 3).

Warning

Some Python packages required by some Isaac Sim extensions or examples may not be included as dependencies of Isaac Sim - Python packages. However, it is possible to install them using the command pip install DEPENDENCY_NAME.

Running Python Scripts

Run the following command to execute a Python script in the (virtual) environment:

python path/to/script.py

Running in Interactive Interpreter / Notebooks

When running in interactive interpreter or notebooks (e.g.: Jupyter, Colab, etc.), it is necessary to first import the isaacsim package in order to access the SimulationApp class. For convenience, the isaacsim package exposes that class (implemented in the omni.isaac.kit extension).

from isaacsim import SimulationApp

simulation_app = SimulationApp({"headless": True})
## perform any Isaac Sim / Omniverse imports after instantiating the class
import isaacsim
from omni.isaac.kit import SimulationApp

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

Warning

Calling the SimulationApp.close method on notebooks causes a kernel interruption and termination.

Launching Isaac Sim Experiences

The installation registers a Python entry point (isaacsim) that allow to launch experience (.kit) files.

isaacsim path/to/experience_file.kit [arguments]

Hint

The experience can be defined by its:

  • absolute or relative file path.

  • file name, with or without the .kit file extension. Search path are isaacsim/apps and omni/apps

The following table lists the most common Isaac Sim - Python packages commands to launch experiences:

Command

Description

isaacsim omni.isaac.sim

Standard Isaac Sim app, as it is executed from the Launcher.

isaacsim omni.isaac.sim.headless.native --no-window

Headless livestreaming Isaac Sim natively. See Omniverse Streaming Client for more details.

isaacsim omni.isaac.sim.headless.webrtc --no-window

Headless livestreaming Isaac Sim using the WebRTC protocol. See WebRTC Browser Client for more details.

Default Python Environment

It is possible to run Isaac Sim natively from Python rather than as a standalone executable. This provides more low-level control over how to initialize, setup, and manage an Omniverse application. Isaac Sim provides a built-in Python 3.10 environment that packages can use, similar to a system-level Python install. We recommend using this Python environment when running the Python scripts.

Run the following from the Isaac Sim root folder to start a Python script in this environment:

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

Note

  • You can open a terminal directly at the Isaac Sim root folder from the Isaac Sim App Selector.

  • If you need to install additional packages via pip, run the following:

    ./python.sh -m pip install name_of_package_here
    

Note

  • On Windows use python.bat instead of python.sh.

See also

See the Python Environment manual for more details about python.sh.

Jupyter Notebook Setup

Jupyter Notebooks that use Isaac Sim can be executed as follows:

./jupyter_notebook.sh path/to/notebook.ipynb

Note

  • The first time you run jupyter_notebook.sh, it installs the Jupyter Notebook package into the Isaac Sim Python environment, this may take several minutes.

Note

  • Jupyter Notebook is supported on Linux only.

See also

See the Jupyter Notebooks documentation for more details.

Visual Studio Code Support

The Isaac Sim package provides a .vscode workspace with a pre-configured environment that provides the following:

  • Launch configurations for running in standalone Python mode, or the interactive GUI

  • An environment for Python auto-complete

You can open this workspace by opening the main Isaac Sim package folder in Visual Studio Code (VSCode).

Note

Using Visual Studio Code when going through tutorials and examples is recommended.

See also

See the Visual Studio Code (VSCode) Support documentation for details about the VSCode workspace.

Advanced: Running in Docker

Start the Docker container following the instructions in Container Deployment up to step 7.

After the Isaac Sim container is running, you can run a Python script or Jupiter Notebook from the sections above.

Note

  • You can install additional packages via pip:

    ./python.sh -m pip install name_of_package_here
    
  • See Save Docker Image for committing the image and making the Python setup installation persistent.

Advanced: Running with Anaconda

Create a new environment with the following command:

conda env create -f environment.yml
conda activate isaac-sim

If you have an existing conda environment, ensure that the packages in environment.yml are installed. Alternatively, you can delete and re-create your conda environment as follows:

conda remove --name isaac-sim --all
conda env create -f environment.yml
conda activate isaac-sim

Finally, you must set up environment variables so that Isaac Sim Python packages are located correctly. On Linux, you can do this as follows:

source setup_conda_env.sh

You can then run samples as follows in the isaac-sim conda env:

python path/to/script.py

Note

If you are using the isaac-sim Anaconda environment, use python instead of python.sh to run the samples.