Python Environment Installation#
This section presents the following contents:
Install Isaac Sim using PIP in a (virtual) Python environment
Using the Isaac Sim Default Python Environment
Install Isaac Sim using PIP#
Note
Isaac Sim requires Python 3.11. Visit the Python download page to get a suitable version.
On Linux, GLIBC 2.35+ (
manylinux_2_35_x86_64
) version compatibility is required for pip to discover and install the Python packages. Check the GLIBC version using the commandldd --version
.On Windows, it may be necessary to enable long path support to avoid installation errors due to OS limitations.
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.
Package |
Description |
---|---|
|
A metapackage that defines optional dependencies for installing some or all of the other Python packages |
|
Isaac Sim kernel |
|
Isaac Sim components for application setup |
|
Isaac Sim components for asset import, creation and management |
|
Isaac Sim components for benchmarking |
|
Isaac Sim components for scripting and code edition |
|
Isaac Sim core extensions and APIs |
|
Isaac Sim components to enable the Cortex decision framework for intelligent robot behavior |
|
Isaac Sim examples |
|
Isaac Sim components for the graphical user interface (GUI) |
|
Isaac Sim components to enable the Replicator framework for synthetic data generation pipelines and services |
|
Isaac Sim components for reinforcement learning |
|
Isaac Sim’s robot models and APIs |
|
Isaac Sim components for motion generation pipelines and algorithms |
|
Isaac Sim components for robot setup |
|
Isaac Sim components for ROS 2 system integration |
|
Isaac Sim components to simulate sensors |
|
Isaac Sim components for storage system |
|
Isaac Sim templates |
|
Isaac Sim components for testings |
|
Isaac Sim utilities |
Package |
Description |
---|---|
|
Kit extensions cache for Isaac Sim |
|
Kit-SDK extensions cache for Isaac Sim |
|
Physics extensions cache for Isaac Sim |
Installation using PIP#
Create and activate the virtual environment (optional, but highly recommended):
python3.11 -m venv env_isaacsim source env_isaacsim/bin/activate
python3.11 -m venv env_isaacsim env_isaacsim\Scripts\activate
conda create -n env_isaacsim python=3.11 conda activate env_isaacsim
Make sure pip is updated (
pip install --upgrade pip
) after activating the environment and before proceeding with installation.Install Isaac Sim - Python packages:
pip install isaacsim[all,extscache]==5.0.0 --extra-index-url https://pypi.nvidia.com
pip install isaacsim[BUNDLE]==5.0.0 --extra-index-url https://pypi.nvidia.com
Available bundles# Bundle
Description
all
Install all the main Python packages
extscache
Install the packages that cache the Omniverse extension dependencies
rl
Install all the packages required by Isaac Lab for RL
ros
Install all the packages that enable ROS system integration
ros2
Install all the packages that enable ROS 2 system integration
pip install isaacsim-PACKAGE_SUBNAME==5.0.0 --extra-index-url https://pypi.nvidia.com
!pip install isaacsim[all,extscache]==5.0.0 --extra-index-url https://pypi.nvidia.com
!pip install isaacsim[BUNDLE]==5.0.0 --extra-index-url https://pypi.nvidia.com
Available Bundles# Bundle
Description
all
Install all the main Python packages
extscache
Install the packages that cache the Omniverse extension dependencies
rl
Install all the packages required by Isaac Lab for RL
ros
Install all the packages that enable ROS system integration
ros2
Install all the packages that enable ROS 2 system integration
!pip install isaacsim-PACKAGE_SUBNAME==5.0.0 --extra-index-url https://pypi.nvidia.com
The installation path can be queried with the command
pip show isaacsim
.
Running Isaac Sim#
Start Isaac Sim with the isaacsim
command, which is added to your path after Isaac Sim is installed:
isaacsim
Note
You must agree and accept the Omniverse License Agreement (EULA) 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 asks you to accept the EULA at runtime. After the EULA is accepted, you will not see it again. 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
The first time you run Isaac Sim, it may take several minutes due to the download of dependency extensions from the Omniverse registry. To avoid this, install the packages with the cached extensions (
isaacsim-extscache-physics
,isaacsim-extscache-kit
andisaacsim-extscache-kit-sdk
) as described in the installation section (step number 3).Some Python packages required by some Isaac Sim extensions or examples may not be included as dependencies of Isaac Sim - Python packages. you can 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 (for example: Jupyter, Colab), you must import the isaacsim
package to access the SimulationApp class.
For convenience, the isaacsim
package exposes that class (implemented in the isaacsim.simulation_app
extension).
from isaacsim import SimulationApp simulation_app = SimulationApp({"headless": True}) ## perform any Isaac Sim / Omniverse imports after instantiating the classimport isaacsim from isaacsim.simulation_app import SimulationApp simulation_app = SimulationApp({"headless": True}) ## perform any Isaac Sim / Omniverse imports after instantiating the classNote
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 allows you 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/without
.kit
file extension (search paths:isaacsim/apps
,omni/apps
).
The following table lists the most common Isaac Sim - Python packages commands to launch experiences:
Command |
Description |
---|---|
|
Standard Isaac Sim app, as it is executed from binary. It is the default experience if no experience file is specified (for example: |
|
Headless livestreaming Isaac Sim using the WebRTC protocol. See Isaac Sim WebRTC Streaming Client for more details. |
Generating VS Code Settings#
Due to the structure resulting from the installation, VS Code IntelliSense (code completion, parameter info and member lists, etc.) will not work by default. To set it up (define the search paths for import resolution, the path to the default Python interpreter, and other settings), for a given workspace folder, run the following command:
python -m isaacsim --generate-vscode-settingsWarning
The command will generate a
.vscode/settings.json
file in the workspace folder. If the file already exists, it will be overwritten (a confirmation prompt will be shown first).
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.11 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.
On Windows use python.bat instead of python.sh.
If you need to install additional packages via pip, run the following:
./python.sh -m pip install name_of_package_here
See the Python Environment manual for more details about python.sh
.
Jupyter Notebook Setup#
Jupyter Notebook is supported on Linux only.
Jupyter Notebooks that use Isaac Sim can be executed as follows:
./jupyter_notebook.sh path/to/notebook.ipynb
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.
See the Jupyter Notebook documentation for more details.
Visual Studio Code Support#
Using Visual Studio Code for tutorials and examples is recommended.
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 (VS Code).
See the Visual Studio Code (VS Code) documentation for details about the VS Code 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 Jupyter Notebook from the sections above.
Note
You can install additional packages using 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
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
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.