-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Intro
Hi!
I am a postdoc at the University of Toronto and I use MuJoCo for my research on robotics.
My setup
- Ubuntu 24.04
- Python 3.9
- Mujoco 3.4 and 3.5
What's happening? What did you expect?
When using a virtual environment with Python 3.9, running pip install mujoco fails with the output (note I'm actually using uv here) copied below. This happens because Mujoco versions 3.4 and 3.5 claim to support Python 3.9 in their pyproject.toml files, but do not provide Python 3.9 wheels on PyPI. Mujoco 3.3.7 appears to be the most recent version that actually provides Python 3.9 wheels. This is similar to #607, but for different versions.
Ideally, wheels would be provided for the all the versions supporting Python 3.9 - is there a reason not to do so?
× Failed to build `mujoco==3.5.0`
├─▶ The build backend returned an error
╰─▶ Call to `setuptools.build_meta.build_wheel` failed (exit status: 1)
[stdout]
running bdist_wheel
running build
running build_py
copying mujoco/specs_test.py -> build/lib.linux-x86_64-cpython-39/mujoco
copying mujoco/viewer.py -> build/lib.linux-x86_64-cpython-39/mujoco
copying mujoco/msh2obj_test.py -> build/lib.linux-x86_64-cpython-39/mujoco
copying mujoco/minimize.py -> build/lib.linux-x86_64-cpython-39/mujoco
copying mujoco/memory_leak_test.py -> build/lib.linux-x86_64-cpython-39/mujoco
copying mujoco/msh2obj.py -> build/lib.linux-x86_64-cpython-39/mujoco
copying mujoco/viewer_test.py -> build/lib.linux-x86_64-cpython-39/mujoco
copying mujoco/rollout_test.py -> build/lib.linux-x86_64-cpython-39/mujoco
copying mujoco/minimize_test.py -> build/lib.linux-x86_64-cpython-39/mujoco
copying mujoco/renderer.py -> build/lib.linux-x86_64-cpython-39/mujoco
copying mujoco/rollout.py -> build/lib.linux-x86_64-cpython-39/mujoco
copying mujoco/bindings_test.py -> build/lib.linux-x86_64-cpython-39/mujoco
copying mujoco/render_test.py -> build/lib.linux-x86_64-cpython-39/mujoco
copying mujoco/__init__.py -> build/lib.linux-x86_64-cpython-39/mujoco
copying mujoco/renderer_test.py -> build/lib.linux-x86_64-cpython-39/mujoco
copying mujoco/gl_context.py -> build/lib.linux-x86_64-cpython-39/mujoco
copying mujoco/usd/exporter_test.py -> build/lib.linux-x86_64-cpython-39/mujoco/usd
copying mujoco/usd/shapes.py -> build/lib.linux-x86_64-cpython-39/mujoco/usd
copying mujoco/usd/utils.py -> build/lib.linux-x86_64-cpython-39/mujoco/usd
copying mujoco/usd/camera.py -> build/lib.linux-x86_64-cpython-39/mujoco/usd
copying mujoco/usd/lights.py -> build/lib.linux-x86_64-cpython-39/mujoco/usd
copying mujoco/usd/demo.py -> build/lib.linux-x86_64-cpython-39/mujoco/usd
copying mujoco/usd/objects.py -> build/lib.linux-x86_64-cpython-39/mujoco/usd
copying mujoco/usd/exporter.py -> build/lib.linux-x86_64-cpython-39/mujoco/usd
copying mujoco/glfw/__init__.py -> build/lib.linux-x86_64-cpython-39/mujoco/glfw
copying mujoco/egl/__init__.py -> build/lib.linux-x86_64-cpython-39/mujoco/egl
copying mujoco/egl/egl_ext.py -> build/lib.linux-x86_64-cpython-39/mujoco/egl
copying mujoco/introspect/type_parsing_test.py -> build/lib.linux-x86_64-cpython-39/mujoco/introspect
copying mujoco/introspect/enums.py -> build/lib.linux-x86_64-cpython-39/mujoco/introspect
copying mujoco/introspect/mjxmacro.py -> build/lib.linux-x86_64-cpython-39/mujoco/introspect
copying mujoco/introspect/ast_nodes.py -> build/lib.linux-x86_64-cpython-39/mujoco/introspect
copying mujoco/introspect/functions_test.py -> build/lib.linux-x86_64-cpython-39/mujoco/introspect
copying mujoco/introspect/type_parsing.py -> build/lib.linux-x86_64-cpython-39/mujoco/introspect
copying mujoco/introspect/enums_test.py -> build/lib.linux-x86_64-cpython-39/mujoco/introspect
copying mujoco/introspect/structs.py -> build/lib.linux-x86_64-cpython-39/mujoco/introspect
copying mujoco/introspect/structs_test.py -> build/lib.linux-x86_64-cpython-39/mujoco/introspect
copying mujoco/introspect/ast_nodes_test.py -> build/lib.linux-x86_64-cpython-39/mujoco/introspect
copying mujoco/introspect/__init__.py -> build/lib.linux-x86_64-cpython-39/mujoco/introspect
copying mujoco/introspect/functions.py -> build/lib.linux-x86_64-cpython-39/mujoco/introspect
copying mujoco/osmesa/__init__.py -> build/lib.linux-x86_64-cpython-39/mujoco/osmesa
copying mujoco/cgl/cgl.py -> build/lib.linux-x86_64-cpython-39/mujoco/cgl
copying mujoco/cgl/__init__.py -> build/lib.linux-x86_64-cpython-39/mujoco/cgl
copying mujoco/sysid/__init__.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid
copying mujoco/introspect/codegen/generate_functions.py -> build/lib.linux-x86_64-cpython-39/mujoco/introspect/codegen
copying mujoco/introspect/codegen/formatter.py -> build/lib.linux-x86_64-cpython-39/mujoco/introspect/codegen
copying mujoco/introspect/codegen/generate_enums.py -> build/lib.linux-x86_64-cpython-39/mujoco/introspect/codegen
copying mujoco/introspect/codegen/generate_structs.py -> build/lib.linux-x86_64-cpython-39/mujoco/introspect/codegen
copying mujoco/sysid/report/defaults.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report
copying mujoco/sysid/report/builder.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report
copying mujoco/sysid/report/utils.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report
copying mujoco/sysid/_src/timeseries.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/_src
copying mujoco/sysid/_src/model_modifier.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/_src
copying mujoco/sysid/_src/optimize.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/_src
copying mujoco/sysid/_src/plotting.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/_src
copying mujoco/sysid/_src/trajectory.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/_src
copying mujoco/sysid/_src/io.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/_src
copying mujoco/sysid/_src/__init__.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/_src
copying mujoco/sysid/_src/signal_modifier.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/_src
copying mujoco/sysid/_src/signal_transform.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/_src
copying mujoco/sysid/_src/parameter.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/_src
copying mujoco/sysid/_src/residual.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/_src
copying mujoco/sysid/tests/test_trajectory.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/tests
copying mujoco/sysid/tests/test_parameter.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/tests
copying mujoco/sysid/tests/conftest.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/tests
copying mujoco/sysid/tests/test_signal.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/tests
copying mujoco/sysid/tests/test_timeseries.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/tests
copying mujoco/sysid/tests/__init__.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/tests
copying mujoco/sysid/tests/test_model_modifier.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/tests
copying mujoco/sysid/tests/test_integration.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/tests
copying mujoco/sysid/report/sections/video.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report/sections
copying mujoco/sysid/report/sections/covariance.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report/sections
copying mujoco/sysid/report/sections/optimization_trace.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report/sections
copying mujoco/sysid/report/sections/parameters.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report/sections
copying mujoco/sysid/report/sections/signals.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report/sections
copying mujoco/sysid/report/sections/insights.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report/sections
copying mujoco/sysid/report/sections/parameter_distribution.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report/sections
copying mujoco/sysid/report/sections/__init__.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report/sections
copying mujoco/sysid/report/sections/base.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report/sections
copying mujoco/sysid/report/sections/group.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report/sections
copying mujoco/sysid/report/sections/row.py -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report/sections
copying mujoco/testdata/msh.xml -> build/lib.linux-x86_64-cpython-39/mujoco/testdata
copying mujoco/testdata/model.xml -> build/lib.linux-x86_64-cpython-39/mujoco/testdata
copying mujoco/testdata/abdomen_1_body.msh -> build/lib.linux-x86_64-cpython-39/mujoco/testdata
copying mujoco/testdata/simple_usd_preview_surface.usda -> build/lib.linux-x86_64-cpython-39/mujoco/testdata
copying mujoco/testdata/usd_golden.usda -> build/lib.linux-x86_64-cpython-39/mujoco/testdata
copying mujoco/testdata/MJCF_Root.zip -> build/lib.linux-x86_64-cpython-39/mujoco/testdata
copying mujoco/testdata/MJCF_NoRoot.zip -> build/lib.linux-x86_64-cpython-39/mujoco/testdata
copying mujoco/testdata/model.urdf -> build/lib.linux-x86_64-cpython-39/mujoco/testdata
copying mujoco/sysid/report/templates/row.html -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report/templates
copying mujoco/sysid/report/templates/parameter_confidence.html -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report/templates
copying mujoco/sysid/report/templates/group.html -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report/templates
copying mujoco/sysid/report/templates/video.html -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report/templates
copying mujoco/sysid/report/templates/optimization_trace.html -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report/templates
copying mujoco/sysid/report/templates/parameters_table.html -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report/templates
copying mujoco/sysid/report/templates/covariance.html -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report/templates
copying mujoco/sysid/report/templates/insights.html -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report/templates
copying mujoco/sysid/report/templates/layout.html -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report/templates
copying mujoco/sysid/report/templates/plot_generic.html -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report/templates
copying mujoco/sysid/report/templates/signals.html -> build/lib.linux-x86_64-cpython-39/mujoco/sysid/report/templates
copying mujoco/sysid/py.typed -> build/lib.linux-x86_64-cpython-39/mujoco/sysid
running build_ext
[stderr]
Traceback (most recent call last):
File "<string>", line 11, in <module>
File "/home/adam/.cache/uv/builds-v0/.tmp9wdE09/lib/python3.9/site-packages/setuptools/build_meta.py", line 438, in build_wheel
return _build(['bdist_wheel'])
File "/home/adam/.cache/uv/builds-v0/.tmp9wdE09/lib/python3.9/site-packages/setuptools/build_meta.py", line 429, in _build
return self._build_with_temp_dir(
File "/home/adam/.cache/uv/builds-v0/.tmp9wdE09/lib/python3.9/site-packages/setuptools/build_meta.py", line 410, in _build_with_temp_dir
self.run_setup()
File "/home/adam/.cache/uv/builds-v0/.tmp9wdE09/lib/python3.9/site-packages/setuptools/build_meta.py", line 317, in run_setup
exec(code, locals())
File "<string>", line 357, in <module>
File "/home/adam/.cache/uv/builds-v0/.tmp9wdE09/lib/python3.9/site-packages/setuptools/__init__.py", line 117, in setup
return distutils.core.setup(**attrs) # type: ignore[return-value]
File "/home/adam/.cache/uv/builds-v0/.tmp9wdE09/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 186, in setup
return run_commands(dist)
File "/home/adam/.cache/uv/builds-v0/.tmp9wdE09/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 202, in run_commands
dist.run_commands()
File "/home/adam/.cache/uv/builds-v0/.tmp9wdE09/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 1000, in run_commands
self.run_command(cmd)
File "/home/adam/.cache/uv/builds-v0/.tmp9wdE09/lib/python3.9/site-packages/setuptools/dist.py", line 1107, in run_command
super().run_command(command)
File "/home/adam/.cache/uv/builds-v0/.tmp9wdE09/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 1019, in run_command
cmd_obj.run()
File "/home/adam/.cache/uv/builds-v0/.tmp9wdE09/lib/python3.9/site-packages/setuptools/command/bdist_wheel.py", line 370, in run
self.run_command("build")
File "/home/adam/.cache/uv/builds-v0/.tmp9wdE09/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 341, in run_command
self.distribution.run_command(command)
File "/home/adam/.cache/uv/builds-v0/.tmp9wdE09/lib/python3.9/site-packages/setuptools/dist.py", line 1107, in run_command
super().run_command(command)
File "/home/adam/.cache/uv/builds-v0/.tmp9wdE09/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 1019, in run_command
cmd_obj.run()
File "/home/adam/.cache/uv/builds-v0/.tmp9wdE09/lib/python3.9/site-packages/setuptools/_distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/home/adam/.cache/uv/builds-v0/.tmp9wdE09/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 341, in run_command
self.distribution.run_command(command)
File "/home/adam/.cache/uv/builds-v0/.tmp9wdE09/lib/python3.9/site-packages/setuptools/dist.py", line 1107, in run_command
super().run_command(command)
File "/home/adam/.cache/uv/builds-v0/.tmp9wdE09/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 1019, in run_command
cmd_obj.run()
File "<string>", line 154, in run
File "<string>", line 168, in _find_mujoco
RuntimeError: MUJOCO_PATH environment variable is not set
hint: This usually indicates a problem with the package or the build environment.
Steps for reproduction
- Create a Python environment with Python 3.9
- Run
pip install mujoco==3.4orpip install mujoco==3.5
Minimal model for reproduction
Code required for reproduction
No response
Confirmations
- I searched the latest documentation thoroughly before posting.
- I searched previous Issues and Discussions, I am certain this has not been raised before.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working