mirror of
https://github.com/huggingface/lerobot.git
synced 2026-05-14 08:09:45 +00:00
1e131f93f8
* chore(docs): add uv installation instructions * fix(docs): format tabs * chore(docs): small details * chore(docs): last details uv installation instructions * chore(docs): last detail --- Co-authored-by: sahilmaniyar888 <156301258+sahilmaniyar888@users.noreply.github.com>
184 lines
5.4 KiB
Plaintext
184 lines
5.4 KiB
Plaintext
# Installation
|
|
|
|
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 (`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"
|
|
bash Miniforge3-$(uname)-$(uname -m).sh
|
|
```
|
|
|
|
## Step 2: Environment Setup
|
|
|
|
Create a virtual environment with Python 3.12:
|
|
|
|
<!-- prettier-ignore-start -->
|
|
<hfoptions id="create_venv">
|
|
<hfoption id="conda">
|
|
```bash
|
|
conda create -y -n lerobot python=3.12
|
|
```
|
|
</hfoption>
|
|
<hfoption id="uv">
|
|
```bash
|
|
uv python install 3.12
|
|
uv venv --python 3.12
|
|
```
|
|
</hfoption>
|
|
</hfoptions>
|
|
<!-- prettier-ignore-end -->
|
|
|
|
Then activate your virtual environment, you have to do this each time you open a shell to use lerobot:
|
|
|
|
<!-- prettier-ignore-start -->
|
|
<hfoptions id="activate_venv">
|
|
<hfoption id="conda">```bash
|
|
conda activate lerobot
|
|
```</hfoption>
|
|
<hfoption id="uv">
|
|
```bash
|
|
# Linux/macOSsource
|
|
source .venv/bin/activate
|
|
# Windows PowerShell
|
|
source .venv\Scripts\Activate.ps1
|
|
```
|
|
</hfoption>
|
|
</hfoptions>
|
|
<!-- prettier-ignore-end -->
|
|
|
|
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]
|
|
> This usually installs `ffmpeg 7.X` for your platform compiled with the `libsvtav1` encoder. If `libsvtav1` is not supported (check supported encoders with `ffmpeg -encoders`), you can:
|
|
>
|
|
> - _[On any platform]_ Explicitly install `ffmpeg 7.X` using:
|
|
>
|
|
> ```bash
|
|
> conda install ffmpeg=7.1.1 -c conda-forge
|
|
> ```
|
|
>
|
|
> - _[On Linux only]_ If you want to bring your own ffmpeg: Install [ffmpeg build dependencies](https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu#GettheDependencies) and [compile ffmpeg from source with libsvtav1](https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu#libsvtav1), and make sure you use the corresponding ffmpeg binary to your install with `which ffmpeg`.
|
|
|
|
> [!NOTE]
|
|
> When installing LeRobot inside WSL (Windows Subsystem for Linux), make sure to install `evdev` with the following command:
|
|
>
|
|
> ```bash
|
|
> 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
|
|
|
|
First, clone the repository and navigate into the directory:
|
|
|
|
```bash
|
|
git clone https://github.com/huggingface/lerobot.git
|
|
cd lerobot
|
|
```
|
|
|
|
Then, install the library in editable mode. This is useful if you plan to contribute to the code.
|
|
|
|
<!-- prettier-ignore-start -->
|
|
<hfoptions id="install_lerobot_src">
|
|
<hfoption id="conda">
|
|
```bash
|
|
pip install -e .
|
|
```
|
|
</hfoption>
|
|
<hfoption id="uv">
|
|
```bash
|
|
uv pip install -e .
|
|
```
|
|
</hfoption>
|
|
</hfoptions>
|
|
<!-- prettier-ignore-end -->
|
|
|
|
### Installation from PyPI
|
|
|
|
**Core Library:**
|
|
Install the base package with:
|
|
|
|
<!-- prettier-ignore-start -->
|
|
<hfoptions id="install_lerobot_pypi">
|
|
<hfoption id="conda">
|
|
```bash
|
|
pip install lerobot
|
|
```
|
|
</hfoption>
|
|
<hfoption id="uv">
|
|
```bash
|
|
uv pip install lerobot
|
|
```
|
|
</hfoption>
|
|
</hfoptions>
|
|
<!-- prettier-ignore-end -->
|
|
|
|
_This installs only the default dependencies._
|
|
|
|
**Extra Features:**
|
|
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
|
|
pip install 'lerobot[aloha,pusht]' # Specific features (Aloha & Pusht)
|
|
pip install 'lerobot[feetech]' # Feetech motor support
|
|
```
|
|
|
|
_Replace `[...]` with your desired features._
|
|
|
|
**Available Tags:**
|
|
For a full list of optional dependencies, see:
|
|
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:
|
|
|
|
```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
|
|
```
|
|
|
|
For other systems, see: [Compiling PyAV](https://pyav.org/docs/develop/overview/installation.html#bring-your-own-ffmpeg)
|
|
|
|
## 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`. If you are using `uv`, replace `pip install` with `uv pip install` in the commands below.
|
|
|
|
### Simulations
|
|
|
|
Install environment packages: `aloha` ([gym-aloha](https://github.com/huggingface/gym-aloha)), or `pusht` ([gym-pusht](https://github.com/huggingface/gym-pusht))
|
|
Example:
|
|
|
|
```bash
|
|
pip install -e ".[aloha]" # or "[pusht]" for example
|
|
```
|
|
|
|
### Motor Control
|
|
|
|
For Koch v1.1 install the Dynamixel SDK, for SO100/SO101/Moss install the Feetech SDK.
|
|
|
|
```bash
|
|
pip install -e ".[feetech]" # or "[dynamixel]" for example
|
|
```
|
|
|
|
### Experiment Tracking
|
|
|
|
To use [Weights and Biases](https://docs.wandb.ai/quickstart) for experiment tracking, log in with
|
|
|
|
```bash
|
|
wandb login
|
|
```
|
|
|
|
You can now assemble your robot if it's not ready yet, look for your robot type on the left. Then follow the link below to use Lerobot with your robot.
|