python - 使用 OpenAI Gym 构建 mujoco-py 失败的轮子
问题描述
我按照 OpenAI Gym 的安装说明进行操作,但完整安装给出了错误“无法为 mujoco-py 构建轮子”
pip install gym
并且import gym
可以在我的笔记本电脑上正常工作并且import mujoco_py
也可以正常工作,但是我仍然遇到“无法构建轮子错误”
如果有人可以解释为什么我会收到这个无效的语法错误,那将会很有用。
(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/
解决方案
Mujoco 现在只支持 python3。我遇到了类似的问题,因为我同时安装了 python2 和 python3。删除 python2 并只保留 python3 解决了这个问题。
用这个:
sudo apt purge python2.7-minimal
推荐阅读
- r - R Shiny:将变量分组在一个唯一的标签下,并在反应输出中使用该标签
- python - 如何使用 Folium 在成对的开始和结束地理空间点之间绘制路线?
- python - 如何将字符串传递给shell脚本
- shell - 如何逐字比较2个文件并将不同的单词存储在结果输出文件中
- json - 相同的路径是否唯一的区别是使用查询但允许其他路径参数?
- android - Android 和 iOS 的 Unicode 字符支持
- python - 如何在显示标签之前暂停我的代码
- java - 如何使用 java.net.InetAddress 静态方法运行 PowerMock v1.74
- javascript - 带有 SignalR 和简单 js 客户端的 Abp 通知
- sql - 试图从每组中只得到一行