diff --git a/docs/source/installation.mdx b/docs/source/installation.mdx index 6d29215a0..80f705e88 100644 --- a/docs/source/installation.mdx +++ b/docs/source/installation.mdx @@ -1,8 +1,8 @@ # Installation -This guide uses conda (via miniforge) to manage environments. If you prefer another environment manager (e.g. `uv`, `venv`), ensure you have Python >=3.12 and ffmpeg installed with the `libsvtav1` encoder, then skip ahead to [Install LeRobot](#step-3-install-lerobot-). +This guide uses `conda` (via miniforge) to manage environments (recommended). If you prefer another environment manager (e.g. `uv`, `venv`), ensure you have Python >=3.12 and `ffmpeg` installed with the `libsvtav1` encoder, then skip ahead to [Environment Setup](#step-2-environment-setup). -## Step 1: Install [`miniforge`](https://conda-forge.org/download/) +## Step 1 (`conda` only): Install [`miniforge`](https://conda-forge.org/download/) ```bash wget "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh" @@ -11,22 +11,47 @@ bash Miniforge3-$(uname)-$(uname -m).sh ## Step 2: Environment Setup -Create a virtual environment with Python 3.12, using conda: +Create a virtual environment with Python 3.12: + + + ```bash conda create -y -n lerobot python=3.12 ``` - -Then activate your conda environment, you have to do this each time you open a shell to use lerobot: - + + ```bash -conda activate lerobot +uv python install 3.12 +uv venv --python 3.12 ``` + + + + +Then activate your virtual environment, you have to do this each time you open a shell to use lerobot: + + + +```bash +conda activate lerobot +``` + +```bash +# Linux/macOSsource +source .venv/bin/activate +# Windows PowerShell +source .venv\Scripts\Activate.ps1 +``` + + + When using `conda`, install `ffmpeg` in your environment: ```bash conda install ffmpeg -c conda-forge +ffmpeg -version # ffmpeg 8.X is not yet supported ! ``` > [!TIP] @@ -47,6 +72,9 @@ conda install ffmpeg -c conda-forge > conda install evdev -c conda-forge > ``` +> [!IMPORTANT] +> If you are using `uv` you will have to install `ffmpeg` system-wide (outside of the virtual environment). You rely on `uv` and `torchcodec` ability to dynamically link to the system `ffmpeg`. + ## Step 3: Install LeRobot 🤗 ### From Source @@ -60,23 +88,45 @@ cd lerobot Then, install the library in editable mode. This is useful if you plan to contribute to the code. + + + ```bash pip install -e . ``` + + +```bash +uv pip install -e . +``` + + + ### Installation from PyPI **Core Library:** Install the base package with: + + + ```bash pip install lerobot ``` + + +```bash +uv pip install lerobot +``` + + + _This installs only the default dependencies._ **Extra Features:** -To install additional functionality, use one of the following: +To install additional functionality, use one of the following (If you are using `uv`, replace `pip install` with `uv pip install` in the commands below.): ```bash pip install 'lerobot[all]' # All available features @@ -93,7 +143,7 @@ https://pypi.org/project/lerobot/ ### Troubleshooting If you encounter build errors, you may need to install additional dependencies: `cmake`, `build-essential`, and `ffmpeg libs`. -To install these for linux run: +To install these for Linux run: ```bash sudo apt-get install cmake build-essential python3-dev pkg-config libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev libswresample-dev libavfilter-dev @@ -103,7 +153,7 @@ For other systems, see: [Compiling PyAV](https://pyav.org/docs/develop/overview/ ## Optional dependencies -LeRobot provides optional extras for specific functionalities. Multiple extras can be combined (e.g., `.[aloha,feetech]`). For all available extras, refer to `pyproject.toml`. +LeRobot provides optional extras for specific functionalities. Multiple extras can be combined (e.g., `.[aloha,feetech]`). For all available extras, refer to `pyproject.toml`. If you are using `uv`, replace `pip install` with `uv pip install` in the commands below. ### Simulations