> This page is for version Release 2.3.
> For other versions, use one of these documentation indexes:
> - Release 3.0 (default): https://docs.nvidia.com/isaaclab/3.0/llms.txt
> - Release 2.3: https://docs.nvidia.com/isaaclab/2.3/llms.txt
> - Release 2.2: https://docs.nvidia.com/isaaclab/2.2/llms.txt
> - Release 2.1: https://docs.nvidia.com/isaaclab/2.1/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/isaaclab/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/isaaclab/_mcp/server.

# Installation using Isaac Sim Pip Package

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

> **Warning**
>
> 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](/source/setup/installation/binaries_installation) approach.

> **Note**
>
> If you plan to [Set up Visual Studio Code](/source/overview/developer-guide/vs_code) later, we recommend following the
> [Isaac Sim Binaries Installation](/source/setup/installation/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](https://docs.isaacsim.omniverse.nvidia.com/latest/common/feedback.html).

> **Warning**
>
> On Windows, it may be necessary to [enable long path support](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry#enable-long-paths-in-windows-10-version-1607-and-later)
> 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.

You can choose different package managers to create a virtual environment.

* **UV**: A modern, fast, and secure package manager for Python.
* **Conda**: A cross-platform, language-agnostic package manager for Python.
* **venv**: The standard library for creating virtual environments in Python.

> **Warning**
>
> The Python version of the virtual environment must match the Python version of Isaac Sim.
>
> * For Isaac Sim 5.X, the required Python version is 3.11.
> * For Isaac Sim 4.X, the required Python version is 3.10.
>
> Using a different Python version will result in errors when running Isaac Lab.

The following instructions are for Isaac Sim 5.X, which requires Python 3.11.
If you wish to install Isaac Sim 4.5, please use modify the instructions accordingly to use Python 3.10.

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

#### UV Environment

To install `uv`, please follow the instructions [here](https://docs.astral.sh/uv/getting-started/installation/).
You can create the Isaac Lab environment using the following commands:

#### \`fa-brands fa-linux\` Linux

```bash
# create a virtual environment named env_isaaclab with python3.11
uv venv --python 3.11 env_isaaclab
# activate the virtual environment
source env_isaaclab/bin/activate
```

#### \`fa-brands fa-windows\` Windows

```batch
:: create a virtual environment named env_isaaclab with python3.11
uv venv --python 3.11 env_isaaclab
:: activate the virtual environment
env_isaaclab\Scripts\activate
```

#### Conda Environment

To install conda, please follow the instructions [here](https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html).
You can create the Isaac Lab environment using the following commands.

We recommend using [Miniconda](https://www.anaconda.com/docs/getting-started/miniconda/main/),
since it is light-weight and resource-efficient environment management system.

```bash
conda create -n env_isaaclab python=3.11
conda activate env_isaaclab
```

#### venv Environment

To create a virtual environment using the standard library, you can use the
following commands:

#### \`fa-brands fa-linux\` Linux

```bash
# create a virtual environment named env_isaaclab with python3.11
python3.11 -m venv env_isaaclab
# activate the virtual environment
source env_isaaclab/bin/activate
```

#### \`fa-brands fa-windows\` Windows

```batch
:: create a virtual environment named env_isaaclab with python3.11
python3.11 -m venv env_isaaclab
:: activate the virtual environment
env_isaaclab\Scripts\activate
```

* Ensure the latest pip version is installed. To update pip, run the following command
  from inside the virtual environment:

#### Linux

```bash
pip install --upgrade pip
```

#### Windows

```batch
python -m pip install --upgrade pip
```

### Installing dependencies

> **Note**
>
> In case you used UV to create your virtual environment, please replace `pip` with `uv pip`
> in the following commands.

* Install Isaac Sim pip packages:

```none
pip install "isaacsim[all,extscache]==5.1.0" --extra-index-url https://pypi.nvidia.com
```

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

#### Linux (x86_64)

```bash
pip install -U torch==2.7.0 torchvision==0.22.0 --index-url https://download.pytorch.org/whl/cu128
```

#### Windows (x86_64)

```bash
pip install -U torch==2.7.0 torchvision==0.22.0 --index-url https://download.pytorch.org/whl/cu128
```

#### Linux (aarch64)

```bash
pip install -U torch==2.9.0 torchvision==0.24.0 --index-url https://download.pytorch.org/whl/cu130
```

> **Note**
>
> After installing Isaac Lab on aarch64, you may encounter warnings such as:
>
> ```none
> 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:
>
> ```bash
> 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.

### Verifying the Isaac Sim installation

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

* Check that the simulator runs as expected:

```bash
# 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:

```bash
# 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.

> **Warning**
>
> 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:
>
> ```bash
> 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](https://docs.omniverse.nvidia.com/dev-guide/latest/linux-troubleshooting.html)
and the
[Isaac Sim Forums](https://docs.isaacsim.omniverse.nvidia.com/latest/common/feedback.html).

## Installing Isaac Lab

### Cloning Isaac Lab

> **Note**
>
> We recommend making a [fork](https://github.com/isaac-sim/IsaacLab/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:

#### SSH

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

#### HTTPS

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

We provide a helper executable [isaaclab.sh](https://github.com/isaac-sim/IsaacLab/blob/main/isaaclab.sh)
and [isaaclab.bat](https://github.com/isaac-sim/IsaacLab/blob/main/isaaclab.bat) for Linux and Windows
respectively that provides utilities to manage extensions.

#### Linux

```text
./isaaclab.sh --help

usage: isaaclab.sh [-h] [-i] [-f] [-p] [-s] [-t] [-o] [-v] [-d] [-n] [-c] -- Utility to manage Isaac Lab.

optional arguments:
   -h, --help           Display the help content.
   -i, --install [LIB]  Install the extensions inside Isaac Lab and learning frameworks (rl_games, rsl_rl, sb3, skrl) as extra dependencies. Default is 'all'.
   -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 [NAME]   Create the conda environment for Isaac Lab. Default name is 'env_isaaclab'.
   -u, --uv [NAME]      Create the uv environment for Isaac Lab. Default name is 'env_isaaclab'.
```

#### Windows

```text
isaaclab.bat --help

usage: isaaclab.bat [-h] [-i] [-f] [-p] [-s] [-v] [-d] [-n] [-c] -- Utility to manage Isaac Lab.

optional arguments:
   -h, --help           Display the help content.
   -i, --install [LIB]  Install the extensions inside Isaac Lab and learning frameworks (rl_games, rsl_rl, sb3, skrl) as extra dependencies. Default is 'all'.
   -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.
   -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 [NAME]   Create the conda environment for Isaac Lab. Default name is 'env_isaaclab'.
   -u, --uv [NAME]      Create the uv environment for Isaac Lab. Default name is 'env_isaaclab'.
```

### Installation

* Install dependencies using `apt` (on Linux only):

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

* Run the install command that iterates over all the extensions in `source` directory and installs them
  using pip (with `--editable` flag):

#### Linux

```bash
./isaaclab.sh --install # or "./isaaclab.sh -i"
```

#### Windows

```batch
isaaclab.bat --install :: or "isaaclab.bat -i"
```

By default, the above will install **all** the learning frameworks. These include
`rl_games`, `rsl_rl`, `sb3`, `skrl`, `robomimic`.

If you want to install only a specific framework, you can pass the name of the framework
as an argument. For example, to install only the `rl_games` framework, you can run:

#### Linux

```bash
./isaaclab.sh --install rl_games  # or "./isaaclab.sh -i rl_games"
```

#### Windows

```batch
isaaclab.bat --install rl_games :: or "isaaclab.bat -i rl_games"
```

The valid options are `all`, `rl_games`, `rsl_rl`, `sb3`, `skrl`, `robomimic`,
and `none`. If `none` is passed, then no learning frameworks will be installed.

### Verifying the Isaac Lab installation

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

#### Linux

```bash
# 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
```

#### Windows

```batch
:: 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.](/isaaclab/_fern-img/2e12a8a1ea3e35bc0687b3f73a80a0960b7366b89dfd908cbbfc648c571fe262.webp)

If you see this, then the installation was successful! |:tada:|

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

#### Linux

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

#### Windows

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

... Or a robot dog!

#### Linux

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

#### Windows

```batch
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](/source/how-to/index) guides like [Adding your own learning Library](/source/how-to/add_own_library) or [Wrapping Environments](/source/how-to/wrap_rl_env) for details.

![Idle hands...](/isaaclab/_fern-img/b7afecb338be7cbc4dcc6d60ba59211b69334f7890207ebadb815fd97a547cd1.webp)