mirror of
https://github.com/huggingface/lerobot.git
synced 2026-05-22 03:59:42 +00:00
fix(docker): fix libero_plus deps by replacing git dep with lerobot[libero]
The libero @ git+...@main dep had empty install_requires, causing uv to skip robosuite (and other deps) during resolution — they appeared "already resolved" from a stale git dep cache even though not installed. Fix: use lerobot[libero] as the dep source (hf-libero properly declares all deps including robosuite via robomimic). The LIBERO-plus Python module is installed from the git clone with --no-deps, so hf-libero's declared deps are used but LIBERO-plus's environments override via .pth. Also remove egl_probe (broken original) duplicate alongside hf-egl-probe. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -15,7 +15,11 @@
|
|||||||
FROM lerobot-eval-base:latest
|
FROM lerobot-eval-base:latest
|
||||||
|
|
||||||
RUN uv pip install --no-cache ".[libero_plus]" \
|
RUN uv pip install --no-cache ".[libero_plus]" \
|
||||||
|
# Clone LIBERO-plus; its setup.py has empty install_requires so deps come from the
|
||||||
|
# lerobot[libero] extra above. Install the package to get LIBERO-plus environments,
|
||||||
|
# then add a .pth so the libero module can locate its data files at runtime.
|
||||||
&& git clone --depth 1 https://github.com/sylvestf/LIBERO-plus.git /tmp/LIBERO-plus \
|
&& git clone --depth 1 https://github.com/sylvestf/LIBERO-plus.git /tmp/LIBERO-plus \
|
||||||
|
&& uv pip install --no-cache --no-deps /tmp/LIBERO-plus \
|
||||||
&& python -c "import pathlib, site; pathlib.Path(site.getsitepackages()[0], 'libero_plus_repo.pth').write_text('/tmp/LIBERO-plus\n')" \
|
&& python -c "import pathlib, site; pathlib.Path(site.getsitepackages()[0], 'libero_plus_repo.pth').write_text('/tmp/LIBERO-plus\n')" \
|
||||||
&& python -c "import libero, robosuite, bddl"
|
&& python -c "import libero, robosuite, bddl"
|
||||||
|
|
||||||
|
|||||||
+5
-8
@@ -185,20 +185,17 @@ libero = [
|
|||||||
"lerobot[scipy-dep]",
|
"lerobot[scipy-dep]",
|
||||||
]
|
]
|
||||||
libero_plus = [
|
libero_plus = [
|
||||||
"lerobot[transformers-dep]",
|
# Inherit all of libero's deps (hf-libero → robosuite/robomimic/egl-probe/scipy/transformers).
|
||||||
"hf-egl-probe>=1.0.1; sys_platform == 'linux'",
|
# LIBERO-plus extends LIBERO with extra task suites; its Python module is installed
|
||||||
"egl_probe>=1.0.1; sys_platform == 'linux'",
|
# from the git clone in Dockerfile.eval-libero-plus (overrides hf-libero via .pth).
|
||||||
"libero @ git+https://github.com/sylvestf/LIBERO-plus.git@main ; sys_platform == 'linux'",
|
"lerobot[libero]",
|
||||||
# LIBERO-plus setup.py has empty install_requires; declare its runtime deps here.
|
# Additional runtime deps declared by LIBERO-plus but absent from its setup.py:
|
||||||
"robosuite>=1.4.0,<1.5.0; sys_platform == 'linux'",
|
|
||||||
"bddl>=1.0.1,<2.0.0; sys_platform == 'linux'",
|
"bddl>=1.0.1,<2.0.0; sys_platform == 'linux'",
|
||||||
"future; sys_platform == 'linux'", # bddl transitive dep not declared in its metadata
|
"future; sys_platform == 'linux'", # bddl transitive dep not declared in its metadata
|
||||||
"robomimic>=0.2.0,<0.3.0; sys_platform == 'linux'",
|
|
||||||
"easydict>=1.9; sys_platform == 'linux'",
|
"easydict>=1.9; sys_platform == 'linux'",
|
||||||
"wand; sys_platform == 'linux'",
|
"wand; sys_platform == 'linux'",
|
||||||
"scikit-image>=0.20.0; sys_platform == 'linux'",
|
"scikit-image>=0.20.0; sys_platform == 'linux'",
|
||||||
"gym>=0.25.0,<0.27.0; sys_platform == 'linux'",
|
"gym>=0.25.0,<0.27.0; sys_platform == 'linux'",
|
||||||
"lerobot[scipy-dep]",
|
|
||||||
]
|
]
|
||||||
libero-plus = ["lerobot[libero_plus]"]
|
libero-plus = ["lerobot[libero_plus]"]
|
||||||
robomme = [
|
robomme = [
|
||||||
|
|||||||
Reference in New Issue
Block a user