Installation using Isaac Lab Pip Packages#

From Isaac Lab 2.0, pip packages are provided to install both Isaac Sim and Isaac Lab extensions from pip. Note that this installation process is only recommended for advanced users working on additional extension projects that are built on top of Isaac Lab. Isaac Lab pip packages does not include any standalone python scripts for training, inferencing, or running standalone workflows such as demos and examples. Therefore, users are required to define their own runner scripts when installing Isaac Lab from pip.

To learn about how to set up your own project on top of Isaac Lab, please see Create new project or task.

Note

Currently, we only provide pip packages for every major release of Isaac Lab. For example, we provide the pip package for release 2.1.0 and 2.2.0, but not 2.1.1. In the future, we will provide pip packages for every minor release of Isaac Lab.

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 Isaac Lab#

The isaaclab package provides optional extras to install Isaac Sim and individual Isaac Lab sub-packages:

Extra

What it installs

isaacsim

Isaac Sim (isaacsim[all,extscache]==X.X.X) from pypi.nvidia.com

assets

isaaclab_assets

physx

isaaclab_physx

contrib

isaaclab_contrib

mimic

isaaclab_mimic

newton

isaaclab_newton

rl

isaaclab_rl

tasks

isaaclab_tasks

teleop

isaaclab_teleop

all

All of the above sub-packages (does not include isaacsim)

# Isaac Lab only
uv pip install isaaclab # latest version
uv pip install isaaclab==3.0.0 # specific version

# Isaac Lab + Isaac Sim
uv pip install "isaaclab[isaacsim]"

# Isaac Lab + specific sub-package(s)
uv pip install "isaaclab[assets]"
uv pip install "isaaclab[rl,tasks]"

# Isaac Lab + Isaac Sim + all sub-packages
uv pip install "isaaclab[isaacsim,all]"
# Isaac Lab only
pip install isaaclab # latest version
pip install isaaclab==3.0.0 # specific version

# Isaac Lab + Isaac Sim
pip install "isaaclab[isaacsim]" --extra-index-url https://pypi.nvidia.com

# Isaac Lab + specific sub-package(s)
pip install "isaaclab[assets]"
pip install "isaaclab[rl,tasks]"

# Isaac Lab + Isaac Sim + all Isaac Lab sub-packages
pip install "isaaclab[isaacsim,all]" --extra-index-url https://pypi.nvidia.com

Installing dependencies#

  • Install a CUDA-enabled PyTorch 2.10.0 build that matches your system architecture:

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

    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
    

    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.

  • If you want to use rl_games for training and inferencing, install its Python 3.11+ enabled fork:

    pip install git+https://github.com/isaac-sim/rl_games.git@python3.11
    

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.

Running Isaac Lab Scripts#

By following the above scripts, your Python environment should now have access to all of the Isaac Lab extensions. To run a user-defined script for Isaac Lab, simply run

python my_awesome_script.py

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 isaaclab --generate-vscode-settings

Warning

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).