Here’s the part most Hugging Face robotics writeups still get wrong: since LeRobot v0.6.0, a bare pip install lerobot is intentionally skinny. You don’t get recording, training, or motor stacks until you add extras – and the error message literally tells you which one. That single design change is why half the “my install is broken” threads exist in 2026.
LeRobot v0.6.1 is the deploy target here (latest stable on PyPI tied to the GitHub v0.6.1 tag). System specs, copy-paste install paths, first config, verification, the errors people actually hit, upgrade breakage, cleanup. Not another SO-101 pick-and-place pipeline.
What you’re installing (and why v0.6.1)
LeRobot is Hugging Face’s PyTorch library for real-world robot learning: shared robot/teleop APIs, LeRobotDataset on the Hub, policies from ACT through VLAs, CLIs such as lerobot-record, lerobot-train, and lerobot-rollout.
Base got lighter on purpose. The v0.6.0 release blog puts the cut at roughly 40% fewer base dependencies; extras (training, core_scripts, dataset, hardware stacks, …) are opt-in. As of the v0.6.1 tag, docs send pip users to 0.6.1 while main moves ahead – source checkouts can sit newer than the PyPI pin.
System requirements for Hugging Face robotics with LeRobot
Minimums that decide whether install succeeds:
| Piece | Minimum | Recommended |
|---|---|---|
| Python | 3.12+ | 3.12 or 3.13 |
| OS | Linux / macOS / Windows (partial) | Ubuntu 22.04/24.04 |
| RAM | ~8 GB (CLI/import) | 16 GB+ (more headroom for big local datasets) |
| Disk | Comfortable space for deps + caches | Extra room if you keep datasets/checkpoints local |
| GPU | None for install/record | NVIDIA with headroom to train; large VLAs often want 24-40 GB class cards |
| Video | ffmpeg (TorchCodec path) | conda ffmpeg; pin 7.1.1 if AV1/encoder issues |
Linux is the path that breaks least. Apple Silicon gets MPS. Windows covers parts of the stack; robot USB serial is less painful in WSL2. Training VRAM bands – ACT often in a modest multi-GB band, large VLAs much higher – are spelled out in Hugging Face’s compute hardware guide.
Official download sources
Use only these:
- PyPI (stable v0.6.1):
pip install lerobot==0.6.1 - GitHub source:https://github.com/huggingface/lerobot
- Docs:https://huggingface.co/docs/lerobot/installation
- Docker Hub (nightly builds from
main, as of the current Hub tags):huggingface/lerobot-gpu:latest,huggingface/lerobot-cpu:latest
Skip random forks unless you need a vendor plugin. Motor extras that ship in the official package beat unmaintained mirrors.
Install LeRobot v0.6.1 step by step
I burned an evening on Python 3.11 and a system ffmpeg TorchCodec would not touch. The sequence below is what stayed green.
1. Environment (conda / miniforge recommended)
wget "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
bash Miniforge3-$(uname)-$(uname -m).sh
conda create -y -n lerobot python=3.12
conda activate lerobot
On WSL, install evdev before anything that touches input devices: conda install evdev -c conda-forge. Windows robot USB into WSL still needs usbipd-style passthrough so paths like /dev/ttyACM0 exist inside the distro.
2. ffmpeg for video decode
conda install ffmpeg -c conda-forge
# If libsvtav1 is missing or torchcodec complains:
conda install ffmpeg=7.1.1 -c conda-forge
ffmpeg -encoders | grep -i svt
TorchCodec is the default decoder path in current install docs. macOS Intel, Linux ARM, or Windows on older PyTorch (docs call out gaps below the TorchCodec-friendly PyTorch line) fall back to pyav – ffmpeg pinning matters less there. Jetson GPU decode is its own story; community images exist, official notes do not promise parity.
3. Package install (pick one path)
Stable from PyPI (recommended for deploy):
pip install "lerobot==0.6.1"
# Then add what you actually need:
pip install 'lerobot[core_scripts]' # record / replay / calibrate
pip install 'lerobot[training]' # train policies
pip install 'lerobot[core_scripts,training]' # both
pip install 'lerobot[feetech]' # SO-100/101 motors
pip install 'lerobot[all]' # kitchen sink (slow, large)
Editable source (track main):
git clone https://github.com/huggingface/lerobot.git
cd lerobot
pip install -e ".[core_scripts,training]"
Docker GPU (skip host CUDA fights):
docker pull huggingface/lerobot-gpu:latest
docker run -it --rm --gpus all --shm-size 16gb huggingface/lerobot-gpu:latest
Pro tip: Smallest extra that matches the next command wins. Hub datasets only →
lerobot[dataset]. Motors → addfeetech(or the motor extra your hardware docs name).[all]is fine for CI images, rough on a laptop SSD.
4. Linux CUDA wheels (if training on NVIDIA)
torch.cuda.is_available() false after install? Put a matching wheel in before the stack settles – or force-reinstall after. Official install notes: the uv/source path often pins CUDA 12.8 wheels, which implies a driver floor around 570.86. Override when your box disagrees:
pip install --index-url https://download.pytorch.org/whl/cu128 torch torchvision
# older drivers: cu126; newer Blackwell-class stacks may want cu130 - match nvidia-smi
First-time configuration (minimum viable)
No robot required to prove the stack.
pip install huggingface_hub
huggingface-cli login
# optional if you installed [training]
wandb login
Feetech arm later? lerobot-find-port → lerobot-setup-motors → lerobot-calibrate. Those entry points sit behind core_scripts + the motor extra, not the base wheel.
Ever notice how robotics installs fail for reasons that have nothing to do with robots? Serial permissions, encoder builds, CUDA minor versions. The policy is the easy part once the env stops lying.
Verify the install works
lerobot-info
python -c "import lerobot; print(lerobot.__version__)"
python -c "import torch; print(torch.__version__, torch.cuda.is_available())"
Target version 0.6.1 on the PyPI path (or your source SHA), a sane platform line, PyTorch not stuck at N/A. Pure install health: lerobot-info is enough. Sim extras and doc evals can wait.
Common install errors and fixes
The catch is almost never “LeRobot is broken.” It’s Python, ffmpeg, or extras.
- Syntax/import errors on 3.10/3.11 – requires-python ≥3.12 (3.12/3.13 supported). Recreate the env.
ModuleNotFoundErrorfor datasets, serial, wandb, rerun… – base install by design after v0.6.0. Read the hint;pip install 'lerobot[<extra>]'.Encoder 'libsvtav1' not found/ ffmpeg weirdness –conda install ffmpeg=7.1.1 -c conda-forge. conda often floats 8.X; install troubleshooting still treats that line as painful.- Build failures on
av/ PyAV – Linux: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 - WSL
evdeverrors –conda install evdev -c conda-forge(or libevdev-dev + pip/uv install evdev). - CUDA not available –
nvidia-smi, reinstall torch for that driver, don’t mix conda CUDA and pip CUDA blind. - Serial permission denied (hardware later) –
sudo chmod 666 /dev/ttyACM0or dialout group + re-login.
Upgrade from previous versions / uninstall
Upgrade to 0.6.1:
pip install -U "lerobot==0.6.1"
# re-apply extras you still need
pip install 'lerobot[core_scripts,training]'
Release-note breakage worth fixing before you debug policies: v0.6.0 dropped the fat base, renamed eval_freq → env_eval_freq, swapped GR00T N1.5 for N1.7, and raised the minimum PyTorch line (notes cite 2.7+). Need N1.5? stay on lerobot==0.5.1. v0.6.1 renames lerobot.types → lerobot.lerobot_types – update imports or pin.
Uninstall / cleanup:
pip uninstall lerobot -y
# editable source:
# pip uninstall lerobot -y && rm -rf /path/to/lerobot
conda deactivate
conda env remove -n lerobot
docker rmi huggingface/lerobot-gpu:latest huggingface/lerobot-cpu:latest
rm -rf ~/.cache/huggingface/lerobot
FAQ
Do I need a GPU just to install LeRobot?
No. Install and dataset tooling run on CPU. GPU shows up for training and heavy VLA inference.
Should I use pip, source, or Docker?
Known box: lerobot==0.6.1 plus only the extras you need. Editable source when you contribute or need commits after the 0.6.1 tag. huggingface/lerobot-gpu:latest when host CUDA is the boss fight – those images track main nightly, not a frozen 0.6.1 tag, so treat them as moving CI ground.
I installed lerobot but lerobot-train / lerobot-record is missing – is the package broken?
Usually not. After v0.6.0, CLI entry points and heavy deps sit behind extras on purpose. A minimal wheel imports lerobot and runs lerobot-info; training wants [training]; robot workflows want [core_scripts] plus a motor extra such as feetech. Lean install working as designed – not a corrupt download. If lerobot-info itself is missing, the env isn’t active or pip wrote into a different Python.
Next: activate the env, run pip install "lerobot==0.6.1" 'lerobot[core_scripts,training]', then lerobot-info. Version line shows 0.6.1? Open the official robot or training docs for your hardware.