5

I followed the installation instructions for OpenAI Gym, but the full install gives the error "Failed to build wheel for mujoco-py"

pip install gym and import gym work fine on my laptop and import mujoco_py works too, but I'm still getting a "failed to build wheel error"

If someone could explain why I am getting this invalid syntax error it would be useful.

(universe) abhimanyu@abhimanyu-HP-ProBook-440-G3:~/gym$ pip install -e .'[all]'
Obtaining file:///home/abhimanyu/gym
Requirement already satisfied: scipy in /home/abhimanyu/anaconda3/envs/universe/lib/python2.7/site-packages (from gym==0.10.8) (1.1.0)
Requirement already satisfied: numpy>=1.10.4 in /home/abhimanyu/anaconda3/envs/universe/lib/python2.7/site-packages (from gym==0.10.8) (1.15.3)
Requirement already satisfied: requests>=2.0 in /home/abhimanyu/anaconda3/envs/universe/lib/python2.7/site-packages (from gym==0.10.8) (2.10.0)
Requirement already satisfied: six in /home/abhimanyu/anaconda3/envs/universe/lib/python2.7/site-packages (from gym==0.10.8) (1.11.0)
Requirement already satisfied: pyglet>=1.2.0 in /home/abhimanyu/anaconda3/envs/universe/lib/python2.7/site-packages (from gym==0.10.8) (1.3.2)
Requirement already satisfied: box2d-py>=2.3.5 in /home/abhimanyu/anaconda3/envs/universe/lib/python2.7/site-packages (from gym==0.10.8) (2.3.5)
Collecting mujoco_py>=1.50 (from gym==0.10.8)
  Using cached https://files.pythonhosted.org/packages/cc/1e/0eacaf4fae60a2ba013ed70b61fbf8dbd517bb3be92784dff7a3e4065ad9/mujoco-py-1.50.1.65.tar.gz
Requirement already satisfied: imageio in /home/abhimanyu/anaconda3/envs/universe/lib/python2.7/site-packages (from gym==0.10.8) (2.4.1)
Requirement already satisfied: PyOpenGL in /home/abhimanyu/anaconda3/envs/universe/lib/python2.7/site-packages (from gym==0.10.8) (3.1.0)
Collecting atari_py>=0.1.4 (from gym==0.10.8)
Requirement already satisfied: Pillow in /home/abhimanyu/anaconda3/envs/universe/lib/python2.7/site-packages (from gym==0.10.8) (5.3.0)
Requirement already satisfied: future in /home/abhimanyu/anaconda3/envs/universe/lib/python2.7/site-packages (from pyglet>=1.2.0->gym==0.10.8) (0.17.1)
Requirement already satisfied: glfw>=1.4.0 in /home/abhimanyu/anaconda3/envs/universe/lib/python2.7/site-packages (from mujoco_py>=1.50->gym==0.10.8) (1.7.0)
Requirement already satisfied: Cython>=0.27.2 in /home/abhimanyu/anaconda3/envs/universe/lib/python2.7/site-packages (from mujoco_py>=1.50->gym==0.10.8) (0.29)
Requirement already satisfied: cffi>=1.10 in /home/abhimanyu/anaconda3/envs/universe/lib/python2.7/site-packages (from mujoco_py>=1.50->gym==0.10.8) (1.11.5)
Requirement already satisfied: lockfile>=0.12.2 in /home/abhimanyu/anaconda3/envs/universe/lib/python2.7/site-packages (from mujoco_py>=1.50->gym==0.10.8) (0.12.2)
Requirement already satisfied: futures in /home/abhimanyu/anaconda3/envs/universe/lib/python2.7/site-packages (from imageio->gym==0.10.8) (3.2.0)
Requirement already satisfied: enum34 in /home/abhimanyu/anaconda3/envs/universe/lib/python2.7/site-packages (from imageio->gym==0.10.8) (1.1.6)
Requirement already satisfied: pycparser in /home/abhimanyu/anaconda3/envs/universe/lib/python2.7/site-packages (from cffi>=1.10->mujoco_py>=1.50->gym==0.10.8) (2.19)
Building wheels for collected packages: mujoco-py
  Running setup.py bdist_wheel for mujoco-py ... error
  Complete output from command /home/abhimanyu/anaconda3/envs/universe/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-F0oNqF/mujoco-py/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-Ug2dP4 --python-tag cp27:
  running bdist_wheel
  running build
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-install-F0oNqF/mujoco-py/setup.py", line 44, in <module>
      tests_require=read_requirements_file('requirements.dev.txt'),
    File "/home/abhimanyu/anaconda3/envs/universe/lib/python2.7/distutils/core.py", line 151, in setup
      dist.run_commands()
    File "/home/abhimanyu/anaconda3/envs/universe/lib/python2.7/distutils/dist.py", line 953, in run_commands
      self.run_command(cmd)
    File "/home/abhimanyu/anaconda3/envs/universe/lib/python2.7/distutils/dist.py", line 972, in run_command
      cmd_obj.run()
    File "/home/abhimanyu/anaconda3/envs/universe/lib/python2.7/site-packages/wheel/bdist_wheel.py", line 188, in run
      self.run_command('build')
    File "/home/abhimanyu/anaconda3/envs/universe/lib/python2.7/distutils/cmd.py", line 326, in run_command
      self.distribution.run_command(command)
    File "/home/abhimanyu/anaconda3/envs/universe/lib/python2.7/distutils/dist.py", line 972, in run_command
      cmd_obj.run()
    File "/tmp/pip-install-F0oNqF/mujoco-py/setup.py", line 28, in run
      import mujoco_py  # noqa: force build
    File "/tmp/pip-install-F0oNqF/mujoco-py/mujoco_py/__init__.py", line 3, in <module>
      from mujoco_py.builder import cymj, ignore_mujoco_warnings, functions, MujocoException
    File "/tmp/pip-install-F0oNqF/mujoco-py/mujoco_py/builder.py", line 492
      print(MISSING_KEY_MESSAGE.format(key_path), file=sys.stderr)
                                                      ^
  SyntaxError: invalid syntax

  ----------------------------------------
  Failed building wheel for mujoco-py
  Running setup.py clean for mujoco-py
Failed to build mujoco-py
Installing collected packages: mujoco-py, atari-py, gym
  Found existing installation: mujoco-py 0.5.7
    Uninstalling mujoco-py-0.5.7:
      Successfully uninstalled mujoco-py-0.5.7
  Running setup.py install for mujoco-py ... error
    Complete output from command /home/abhimanyu/anaconda3/envs/universe/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-F0oNqF/mujoco-py/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-hzqBq9/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-F0oNqF/mujoco-py/setup.py", line 44, in <module>
        tests_require=read_requirements_file('requirements.dev.txt'),
      File "/home/abhimanyu/anaconda3/envs/universe/lib/python2.7/distutils/core.py", line 151, in setup
        dist.run_commands()
      File "/home/abhimanyu/anaconda3/envs/universe/lib/python2.7/distutils/dist.py", line 953, in run_commands
        self.run_command(cmd)
      File "/home/abhimanyu/anaconda3/envs/universe/lib/python2.7/distutils/dist.py", line 972, in run_command
        cmd_obj.run()
      File "/home/abhimanyu/anaconda3/envs/universe/lib/python2.7/site-packages/setuptools/command/install.py", line 61, in run
        return orig.install.run(self)
      File "/home/abhimanyu/anaconda3/envs/universe/lib/python2.7/distutils/command/install.py", line 563, in run
        self.run_command('build')
      File "/home/abhimanyu/anaconda3/envs/universe/lib/python2.7/distutils/cmd.py", line 326, in run_command
        self.distribution.run_command(command)
      File "/home/abhimanyu/anaconda3/envs/universe/lib/python2.7/distutils/dist.py", line 972, in run_command
        cmd_obj.run()
      File "/tmp/pip-install-F0oNqF/mujoco-py/setup.py", line 28, in run
        import mujoco_py  # noqa: force build
      File "/tmp/pip-install-F0oNqF/mujoco-py/mujoco_py/__init__.py", line 3, in <module>
        from mujoco_py.builder import cymj, ignore_mujoco_warnings, functions, MujocoException
      File "/tmp/pip-install-F0oNqF/mujoco-py/mujoco_py/builder.py", line 492
        print(MISSING_KEY_MESSAGE.format(key_path), file=sys.stderr)
                                                        ^
    SyntaxError: invalid syntax

    ----------------------------------------
  Rolling back uninstall of mujoco-py
Command "/home/abhimanyu/anaconda3/envs/universe/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-F0oNqF/mujoco-py/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-hzqBq9/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-F0oNqF/mujoco-py/
Graham
  • 7,431
  • 18
  • 59
  • 84

4 Answers4

0

MuJoCo is a physics engine for detailed, efficient rigid body simulations with contacts. mujoco-py allows using MuJoCo from Python 3.

Python 2 has been desupported since 1.50.1.0. Python 2 users can stay on the 0.5 branch. The latest release there is 0.5.7 which can be installed with pip install mujoco-py==0.5.7.

cgdsss
  • 11
  • 1
0

I got stuck on same issue after box2d installation.
Solved by hit and trial of different versions installation of mujoco.
My working versions are listed below
Python 2.7.14
gym 0.12.1
mujoco-py=0.5.7

Hope this helps.

ambar mishra
  • 64
  • 1
  • 5
0

Mujoco supports only python3 now. I had a similar problem because I had both python2 and python3 installed. Removing python2 and keeping only python3 solved the issue.

Use this:

sudo apt purge python2.7-minimal
Madhuparna Bhowmik
  • 2,090
  • 4
  • 12
  • 22
0

I got some similar issue for a couple of days with installing mujoco-py using command :`pip3 install -U 'mujoco-py<1.50.2,>=1.50.1' while i had already installed version 2 of mujoco too. system failed on building wheel for mujoco-py. i knew i should change the directory command in .bashrc related to mujoco210 and make a new one for mjpro150 but still i kept getting similar error. then i figured i should have closed all terminals and then change bashrc and source it and then again attempt to install mujoco-py. cause first terminal was open (that one related to installation) and i opened another terminal for sourcing .bashrc so the first terminal didn't consider the changing in bashrc untill i closed and open a new one for installation.