This package contains:
-
dm_control.mjcf
: A library for composing and modifying MuJoCo MJCF models in Python. -
dm_control.mujoco
: Libraries that provide Python bindings to the MuJoCo physics engine. -
dm_control.suite
: A set of Python Reinforcement Learning environments powered by the MuJoCo physics engine. -
dm_control.viewer
: An interactive environment viewer.
If you use this package, please cite our accompanying tech report.
Follow these steps to install dm_control
:
-
Download MuJoCo Pro 2.00 from the download page on the MuJoCo website. MuJoCo Pro must be installed before
dm_control
, sincedm_control
's install script generates Pythonctypes
bindings based on MuJoCo's header files. By default,dm_control
assumes that the MuJoCo Zip archive is extracted as~/.mujoco/mujoco200_$PLATFORM
where$PLATFORM
is eitherlinux
,win64
, ormacos
. -
Install the
dm_control
Python package by runningpip install git+git://github.com/deepmind/dm_control.git
(PyPI package coming soon) or by cloning the repository and runningpip install /path/to/dm_control/
. We recommendpip install
ing into avirtualenv
, or with the--user
flag to avoid interfering with system packages. At installation time,dm_control
looks for the MuJoCo headers from Step 1 in~/.mujoco/mujoco200_$PLATFORM/include
, however this path can be configured with theheaders-dir
command line argument. -
Install a license key for MuJoCo, required by
dm_control
at runtime. See the MuJoCo license key page for further details. By default,dm_control
looks for the MuJoCo license key file at~/.mujoco/mjkey.txt
. -
If the license key (e.g.
mjkey.txt
) or the shared library provided by MuJoCo Pro (e.g.libmujoco200.so
orlibmujoco200.dylib
) are installed at non-default paths, specify their locations using theMJKEY_PATH
andMJLIB_PATH
environment variables respectively.
The MuJoCo Python bindings support two different OpenGL rendering backends: GLFW (hardware-based) and OSMesa (software-based). At least one of these two backends must be available in order to use the bindings.
-
Hardware rendering requires GLFW and GLEW, which can be installed via your Linux distribution's package manager. For example, on Debian and Ubuntu, this can be done by running
sudo apt-get install libglfw3 libglew2.0
. Note: hardware rendering is not supported on headless machines. -
Software rendering requires GLX and OSMesa. On Debian and Ubuntu these can be installed using
sudo apt-get install libgl1-mesa-glx libosmesa6
.
-
The above instructions using
pip
should work, provided that you use a Python interpreter that is installed by Homebrew (rather than the system-default one). -
Before running, the
DYLD_LIBRARY_PATH
environment variable needs to be updated with the path to the GLFW library. This can be done by runningexport DYLD_LIBRARY_PATH=$(brew --prefix)/lib:$DYLD_LIBRARY_PATH
.