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]",