Installation using Isaac Sim Pip Package#

The following steps first installs Isaac Sim from pip, then Isaac Lab from source code.

Attention

Installing Isaac Sim with pip requires GLIBC 2.35+ version compatibility. To check the GLIBC version on your system, use command ldd --version.

This may pose compatibility issues with some Linux distributions. For instance, Ubuntu 20.04 LTS has GLIBC 2.31 by default. If you encounter compatibility issues, we recommend following the Isaac Sim Binaries Installation approach.

Note

If you plan to Set up Visual Studio Code later, we recommend following the Isaac Sim Binaries Installation approach.

Installing Isaac Sim#

From Isaac Sim 4.0 onwards, it is possible to install Isaac Sim using pip. This approach makes it easier to install Isaac Sim without requiring to download the Isaac Sim binaries. If you encounter any issues, please report them to the Isaac Sim Forums.

Attention

On Windows, it may be necessary to enable long path support to avoid installation errors due to OS limitations.

Preparing a Python Environment#

Creating a dedicated Python environment is strongly recommended. It helps:

  • Avoid conflicts with system Python or other projects installed on your machine.

  • Keep dependencies isolated, so that package upgrades or experiments in other projects do not break Isaac Sim.

  • Easily manage multiple environments for setups with different versions of dependencies.

  • Simplify reproducibility — the environment contains only the packages needed for the current project, making it easier to share setups with colleagues or run on different machines.

We recommend uv as the package manager — it is significantly faster than pip and conda for creating environments and resolving dependencies.

Caution

The Python version of the virtual environment must match the Python version of Isaac Sim.

  • For Isaac Sim 6.X, the required Python version is 3.12.

Using a different Python version will result in errors when running Isaac Lab.

The following instructions are for Isaac Sim 6.X, which requires Python 3.12.

  • Create a virtual environment using one of the package managers:

    uv is the fastest and recommended way to create a Python environment for Isaac Lab. To install uv, please follow the instructions here.

    # create a virtual environment named env_isaaclab with python3.12 and pip
    uv venv --python 3.12 --seed env_isaaclab
    # activate the virtual environment
    source env_isaaclab/bin/activate
    
    :: create a virtual environment named env_isaaclab with python3.12 and pip
    uv venv --python 3.12 --seed env_isaaclab
    :: activate the virtual environment
    env_isaaclab\Scripts\activate
    

    Note

    The --seed flag ensures pip is available inside the uv virtual environment, which is required by the Isaac Lab installer.

    To install conda, please follow the instructions here. You can create the Isaac Lab environment using the following commands.

    We recommend using Miniconda, since it is light-weight and resource-efficient environment management system.

    conda create -n env_isaaclab python=3.12
    conda activate env_isaaclab
    
  • Ensure the latest pip version is installed. To update pip, run the following command from inside the virtual environment:

    uv pip install --upgrade pip
    
    uv pip install --upgrade pip
    

    Note

    If you are using pip directly instead of uv pip, replace uv pip with pip (or python -m pip on Windows) in the commands above and throughout this guide.

Installing dependencies#

Note

On aarch64 (e.g., DGX Spark), imgui-bundle and quadprog must be compiled from source because no pre-built wheel is available. Install the required Python, OpenGL, and X11 development packages before installing Isaac Lab:

sudo apt install python3.12-dev libgl1-mesa-dev libx11-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev
  • Install Isaac Sim pip packages:

    uv pip install "isaacsim[all,extscache]==6.0.0" --extra-index-url https://pypi.nvidia.com
    
  • Install a CUDA-enabled PyTorch build that matches your system architecture:

    uv pip install -U torch==2.10.0 torchvision==0.25.0 --index-url https://download.pytorch.org/whl/cu128
    
    uv pip install -U torch==2.10.0 torchvision==0.25.0 --index-url https://download.pytorch.org/whl/cu128
    
    uv pip install -U torch==2.10.0 torchvision==0.25.0 --index-url https://download.pytorch.org/whl/cu130
    

    Note

    After installing Isaac Lab on aarch64, you may encounter warnings such as:

    ERROR: ld.so: object '...torch.libs/libgomp-XXXX.so.1.0.0' cannot be preloaded: ignored.
    

    This occurs when both the system and PyTorch libgomp (GNU OpenMP) libraries are preloaded. Isaac Sim expects the system OpenMP runtime, while PyTorch sometimes bundles its own.

    To fix this, unset any existing LD_PRELOAD and set it to use the system library only:

    unset LD_PRELOAD
    export LD_PRELOAD="$LD_PRELOAD:/lib/aarch64-linux-gnu/libgomp.so.1"
    

    This ensures the correct libgomp library is preloaded for both Isaac Sim and Isaac Lab, removing the preload warnings during runtime.

    Note

    On aarch64, you may encounter the following error when importing omni.client or torch:

    ImportError: .../libcarb.so: cannot allocate memory in static TLS block
    

    This happens because libcarb.so uses the initial-exec TLS model, and the dynamic linker’s fixed-size TLS surplus is exhausted by the time it is loaded. To fix this, preload libcarb.so before launching Python:

    export LD_PRELOAD=$(python -c "import sys,os;[print(os.path.join(p,'omni','client','libcarb.so')) for p in sys.path if os.path.isfile(os.path.join(p,'omni','client','libcarb.so'))]" 2>/dev/null | head -1)${LD_PRELOAD:+:$LD_PRELOAD}
    

    When using ./isaaclab.sh -p, this is handled automatically. When using a conda environment, the preload is set up via the conda activation hook.

Verifying the Isaac Sim installation#

  • Make sure that your virtual environment is activated (if applicable)

  • Check that the simulator runs as expected:

    # note: you can pass the argument "--help" to see all arguments possible.
    isaacsim
    
  • It’s also possible to run with a specific experience file, run:

    # experience files can be absolute path, or relative path searched in isaacsim/apps or omni/apps
    isaacsim isaacsim.exp.full.kit
    

Note

When running Isaac Sim for the first time, all dependent extensions will be pulled from the registry. This process can take upwards of 10 minutes and is required on the first run of each experience file. Once the extensions are pulled, consecutive runs using the same experience file will use the cached extensions.

Attention

The first run will prompt users to accept the Nvidia Omniverse License Agreement. To accept the EULA, reply Yes when prompted with the below message:

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

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

If the simulator does not run or crashes while following the above instructions, it means that something is incorrectly configured. To debug and troubleshoot, please check Isaac Sim documentation and the Isaac Sim Forums.

Installing Isaac Lab#

Cloning Isaac Lab#

Note

We recommend making a fork of the Isaac Lab repository to contribute to the project but this is not mandatory to use the framework. If you make a fork, please replace isaac-sim with your username in the following instructions.

Clone the Isaac Lab repository into your project’s workspace:

git clone git@github.com:isaac-sim/IsaacLab.git
git clone https://github.com/isaac-sim/IsaacLab.git

We provide a helper executable isaaclab.sh and isaaclab.bat for Linux and Windows respectively that provides utilities to manage extensions.

./isaaclab.sh --help

usage: isaaclab.sh [-h] [-i [INSTALL]] [-f] [-p ...] [-s ...] [-t ...] [-o ...] [-v] [-d] [-n ...] [-c [CONDA]] [-u [UV]]

Isaac Lab CLI

options:
  -h, --help            show this help message and exit
  -i [INSTALL], --install [INSTALL]
                        Install Isaac Lab submodules and RL frameworks.
                        Accepts a comma-separated list of submodule names, one of the RL frameworks, or a special value.

                        Isaac Lab Submodules: assets, physx, contrib, mimic, newton, ov, rl, tasks, teleop, visualizers.
                        Any submodule accepts an editable selector, e.g. visualizers[all|kit|newton|rerun|viser], rl[rsl_rl|skrl].
                        RL frameworks: rl_games, rsl_rl, sb3, skrl, robomimic.

                        Passing an RL framework name installs all Isaac Lab submodules + that framework.

                        Special values:
                        - all  - Install all Isaac Lab submodules + all RL frameworks (default).
                        - none - Install only the core 'isaaclab' package.
                        - <empty> (-i or --install without value) - Install all Isaac Lab submodules + all RL frameworks.
  -f, --format          Run pre-commit to format the code and check lints.
  -p ..., --python ...  Run the python executable provided by Isaac Sim or virtual environment (if active).
  -s ..., --sim ...     Run the simulator executable (isaac-sim.sh) provided by Isaac Sim.
  -t ..., --test ...    Run all python pytest tests.
  -o ..., --docker ...  Run the docker container helper script (docker/container.sh).
  -v, --vscode          Generate the VSCode settings file from template.
  -d, --docs            Build the documentation from source using sphinx.
  -n ..., --new ...     Create a new external project or internal task from template.
  -c [CONDA], --conda [CONDA]
                        Create a new conda environment for Isaac Lab. Default name is 'env_isaaclab'.
  -u [UV], --uv [UV]    Create a new uv environment for Isaac Lab. Default name is 'env_isaaclab'.
isaaclab.bat --help

usage: isaaclab.bat [-h] [-i [INSTALL]] [-f] [-p ...] [-s ...] [-t ...] [-o ...] [-v] [-d] [-n ...] [-c [CONDA]] [-u [UV]]

Isaac Lab CLI

options:
  -h, --help            show this help message and exit
  -i [INSTALL], --install [INSTALL]
                        Install Isaac Lab submodules and RL frameworks.
                        Accepts a comma-separated list of submodule names, one of the RL frameworks, or a special value.

                        Isaac Lab Submodules: assets, physx, contrib, mimic, newton, ov, rl, tasks, teleop, visualizers.
                        Any submodule accepts an editable selector, e.g. visualizers[all|kit|newton|rerun|viser], rl[rsl_rl|skrl].
                        RL frameworks: rl_games, rsl_rl, sb3, skrl, robomimic.

                        Passing an RL framework name installs all Isaac Lab submodules + that framework.

                        Special values:
                        - all  - Install all Isaac Lab submodules + all RL frameworks (default).
                        - none - Install only the core 'isaaclab' package.
                        - <empty> (-i or --install without value) - Install all Isaac Lab submodules + all RL frameworks.
  -f, --format          Run pre-commit to format the code and check lints.
  -p ..., --python ...  Run the python executable provided by Isaac Sim or virtual environment (if active).
  -s ..., --sim ...     Run the simulator executable (isaac-sim.bat) provided by Isaac Sim.
  -t ..., --test ...    Run all python pytest tests.
  -o ..., --docker ...  Run the docker container helper script (docker/container.sh).
  -v, --vscode          Generate the VSCode settings file from template.
  -d, --docs            Build the documentation from source using sphinx.
  -n ..., --new ...     Create a new external project or internal task from template.
  -c [CONDA], --conda [CONDA]
                        Create a new conda environment for Isaac Lab. Default name is 'env_isaaclab'.
  -u [UV], --uv [UV]    Create a new uv environment for Isaac Lab. Default name is 'env_isaaclab'.

Installation#

  • Install dependencies using apt (on Linux only):

    # these dependency are needed by robomimic which is not available on Windows
    sudo apt install cmake build-essential
    

    On aarch64 systems (e.g., DGX Spark), Python, OpenGL and X11 development packages are also required. The imgui-bundle and quadprog dependencies do not provide pre-built wheels for aarch64 and must be compiled from source, which needs these headers and libraries:

    sudo apt install python3.12-dev libgl1-mesa-dev libx11-dev libxcursor-dev libxi-dev libxinerama-dev libxrandr-dev
    
  • Run the install command that iterates over all the extensions in source directory and installs them using pip (with --editable flag):

    ./isaaclab.sh --install # or "./isaaclab.sh -i"
    
    isaaclab.bat --install :: or "isaaclab.bat -i"
    

    By default, the above will install all Isaac Lab submodules (under source/isaaclab). To install only specific Isaac Lab submodules, pass a comma-separated list of submodule names. The available Isaac Lab submodules are: assets, contrib, mimic, newton, ov, physx, rl, tasks, teleop, visualizers. Available RL frameworks are: rl_games, rsl_rl, sb3, skrl, robomimic.

    For example, to install a small subset of submodules:

    ./isaaclab.sh --install physx,newton,assets,rl[rsl_rl],tasks,ov  # or "./isaaclab.sh -i physx,newton,assets,rl[rsl_rl],tasks,ov"
    
    isaaclab.bat --install physx,newton,assets,rl[rsl_rl],tasks,ov :: or "isaaclab.bat -i physx,newton,assets,rl[rsl_rl],tasks,ov"
    

    To install specific visualizer, pass a comma-separated list of supported visualizers, or all to install all available options: newton, rerun, viser, kit. Note when following the default installation, all visualizers are installed.

    ./isaaclab.sh --install visualizers[rerun]  # or "./isaaclab.sh -i visualizers[rerun]"
    
    isaaclab.bat --install visualizers[rerun] :: or "isaaclab.bat -i visualizers[rerun]"
    

    Pass none to install only the core isaaclab package without any Isaac Lab submodules or RL frameworks.

Verifying the Isaac Lab installation#

To verify that the installation was successful, run the following command from the top of the repository:

# Option 1: Using the isaaclab.sh executable
# note: this works for both the bundled python and the virtual environment
./isaaclab.sh -p scripts/tutorials/00_sim/create_empty.py

# Option 2: Using python in your virtual environment
python scripts/tutorials/00_sim/create_empty.py
:: Option 1: Using the isaaclab.bat executable
:: note: this works for both the bundled python and the virtual environment
isaaclab.bat -p scripts\tutorials\00_sim\create_empty.py

:: Option 2: Using python in your virtual environment
python scripts\tutorials\00_sim\create_empty.py

The above command should launch the simulator and display a window with a black viewport. You can exit the script by pressing Ctrl+C on your terminal. On Windows machines, please terminate the process from Command Prompt using Ctrl+Break or Ctrl+fn+B.

Simulator with a black window.

If you see this, then the installation was successful! 🎉

Note

If you see an error ModuleNotFoundError: No module named 'isaacsim', please ensure that the virtual environment is activated and source _isaac_sim/setup_conda_env.sh has been executed (for uv as well).

Train a robot!#

You can now use Isaac Lab to train a robot through Reinforcement Learning! The quickest way to use Isaac Lab is through the predefined workflows using one of our Batteries-included robot tasks. Execute the following command to quickly train an ant to walk! We recommend adding --headless for faster training.

./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Ant-v0 --headless
isaaclab.bat -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Ant-v0 --headless

… Or a robot dog!

./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Velocity-Rough-Anymal-C-v0 --headless
isaaclab.bat -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Velocity-Rough-Anymal-C-v0 --headless

Isaac Lab provides the tools you’ll need to create your own Tasks and Workflows for whatever your project needs may be. Take a look at our How-to Guides guides like Adding your own learning Library or Wrapping Environments for details.

Idle hands...