From 4403675b31ac8d3ddccf2e2f85d3db91bf14c3b3 Mon Sep 17 00:00:00 2001 From: Pepijn Date: Sun, 22 Mar 2026 21:40:48 -0700 Subject: [PATCH] fix(docker): install robocasa's robosuite fork (adds PandaOmron) Standard robosuite 1.4.x from PyPI doesn't include PandaOmron and other robocasa-specific robots. robocasa requires the fork at ARISE-Initiative/robosuite@robocasa_v1.4.1. Install both from source with --no-deps; shared deps (easydict, scikit-image, scipy) installed explicitly first. Co-Authored-By: Claude Sonnet 4.6 --- docker/Dockerfile.eval-robocasa | 10 +++++++--- pyproject.toml | 6 +++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/docker/Dockerfile.eval-robocasa b/docker/Dockerfile.eval-robocasa index be60292f5..4e17947a2 100644 --- a/docker/Dockerfile.eval-robocasa +++ b/docker/Dockerfile.eval-robocasa @@ -14,14 +14,18 @@ FROM lerobot-eval-base:latest -# Install robocasa runtime deps (robocasa is not on PyPI; installed from source below). +# Install robocasa non-robosuite runtime deps RUN uv pip install --no-cache \ - "robosuite>=1.4.0,<1.5.0" \ "easydict>=1.9" \ "scikit-image>=0.20.0" \ "scipy>=1.14.0,<2.0.0" -# Clone robocasa and install with --no-deps (runtime deps declared above). +# robocasa requires its own robosuite fork that adds PandaOmron and other robots. +# The standard PyPI robosuite 1.4.x does not include these. +RUN git clone --depth 1 -b robocasa_v1.4.1 https://github.com/ARISE-Initiative/robosuite.git /tmp/robosuite \ + && uv pip install --no-cache --no-deps /tmp/robosuite + +# Clone robocasa and install with --no-deps (runtime deps declared above + robosuite fork). RUN git clone --depth 1 https://github.com/robocasa/robocasa.git /tmp/robocasa \ && uv pip install --no-cache --no-deps /tmp/robocasa \ && python -c "import robocasa" diff --git a/pyproject.toml b/pyproject.toml index ef8b33390..579187a60 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -202,9 +202,9 @@ robomme = [ "robomme @ git+https://github.com/RoboMME/robomme_benchmark.git@main ; sys_platform == 'linux'", ] robocasa = [ - # robocasa is not on PyPI; installed from source in Dockerfile.eval-robocasa. - # List its runtime deps here so they are pip-installable without the package. - "robosuite>=1.4.0,<1.5.0; sys_platform == 'linux'", + # robocasa and its robosuite fork are not on PyPI; both installed from source + # in Dockerfile.eval-robocasa (requires ARISE-Initiative/robosuite@robocasa_v1.4.1 + # for PandaOmron and other robocasa-specific robots). "easydict>=1.9; sys_platform == 'linux'", "scikit-image>=0.20.0; sys_platform == 'linux'", "lerobot[scipy-dep]",