Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

OpenAI gym mujoco ImportError: No module named 'mujoco_py.mjlib'

I try to run this code in openAi gym. but it can not.

import mujoco_py
import gym
from os.path import dirname

env = gym.make('Hopper-v1')
env.reset()
for _ in range(1000):
    env.render()
    env.step(env.action_space.sample()) 

the error info:

/Users/yunfanlu/anaconda/envs/py35/bin/python3.5 /Users/yunfanlu/WorkPlace/OpenAIGym/OpenGymL/c.py
[2017-07-23 17:17:15,633] Making new env: Hopper-v1
Traceback (most recent call last):
  File "/Users/yunfanlu/anaconda/envs/py35/lib/python3.5/site-packages/gym/envs/mujoco/mujoco_env.py", line 12, in <module>
    from mujoco_py.mjlib import mjlib
ImportError: No module named 'mujoco_py.mjlib'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/yunfanlu/WorkPlace/OpenAIGym/OpenGymL/c.py", line 15, in <module>
    env = gym.make('Hopper-v1')
  File "/Users/yunfanlu/anaconda/envs/py35/lib/python3.5/site-packages/gym/envs/registration.py", line 161, in make
    return registry.make(id)
  File "/Users/yunfanlu/anaconda/envs/py35/lib/python3.5/site-packages/gym/envs/registration.py", line 119, in make
    env = spec.make()
  File "/Users/yunfanlu/anaconda/envs/py35/lib/python3.5/site-packages/gym/envs/registration.py", line 85, in make
    cls = load(self._entry_point)
  File "/Users/yunfanlu/anaconda/envs/py35/lib/python3.5/site-packages/gym/envs/registration.py", line 17, in load
    result = entry_point.load(False)
  File "/Users/yunfanlu/anaconda/envs/py35/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg/pkg_resources/__init__.py", line 2258, in load
  File "/Users/yunfanlu/anaconda/envs/py35/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg/pkg_resources/__init__.py", line 2264, in resolve
  File "/Users/yunfanlu/anaconda/envs/py35/lib/python3.5/site-packages/gym/envs/mujoco/__init__.py", line 1, in <module>
    from gym.envs.mujoco.mujoco_env import MujocoEnv
  File "/Users/yunfanlu/anaconda/envs/py35/lib/python3.5/site-packages/gym/envs/mujoco/mujoco_env.py", line 14, in <module>
    raise error.DependencyNotInstalled("{}. (HINT: you need to install mujoco_py, and also perform the setup instructions here: https://github.com/openai/mujoco-py/.)".format(e))
gym.error.DependencyNotInstalled: No module named 'mujoco_py.mjlib'. (HINT: you need to install mujoco_py, and also perform the setup instructions here: https://github.com/openai/mujoco-py/.)

Process finished with exit code 1

My Computer Envs:

OS: macOS python: python3.5 (conda envs)

I have benn install "pip install 'gym[all]'" and install mujoco.

➜  .mujoco tree
.
├── LICENSE.txt
├── mjkey.txt
└── mjpro150

I can run the examples of mujoco. it is successful.

(py35) ➜  OpenGymL python body_interaction.py 
Creating window glfw
like image 919
Yunfan Lu Avatar asked Jul 23 '17 09:07

Yunfan Lu


1 Answers

I have the same issue and it is caused by having a recent mujoco-py version installed which is not compatible with the mujoco environment of the gym package.

The issue is still open and its details are captured in #80. As commented by machinaut, the update is on the roadmap and you can use version 0.5.7 in the meantime.

pip install mujoco-py==0.5.7
like image 99
Emer Avatar answered Oct 12 '22 01:10

Emer