今天要用 Gym 里面的 LunarLander-v2 环境,结果报错,寻思着重新安装一下,于是一段漫长的连环坑就开始了。
要安装gym:
$ conda install -c akode gym
结果:
Specifications:
- gym -> python[version='>=3.6,<3.7.0a0']
Your python: python=3.7
$ conda search python
$ conda create -n py36 python=3.6 anaconda
激活3.6,进入环境
$ conda activate py36
$ python --version
Python 3.6.10 :: Anaconda, Inc.
$ pip install pip --upgrade
$ git clone https://github.com/openai/mujoco-py
$ pip install -e ./mujoco-py/
结果出错:
You appear to be missing MuJoCo. We expected to find the file here: /Users/galphen/.mujoco/mjpro150
This package only provides python bindings, the library must be installed separately.
Please follow the instructions on the README to install MuJoCo
https://github.com/openai/mujoco-py#install-mujoco
Which can be downloaded from the website
https://www.roboti.us/index.html
于是研究着安装mujoco150:
按照这里:
和[官网](https://github.com/openai/mujoco-py#install-mujoco
用学校邮箱,等不及了,先来个30天免费的key吧
具体:
$ mkdir .mujoco
$ cd .mujoco
在这里下载了 150 和 200 两个版本,移动到 .mujoco 文件夹
$ cp -R ~/Desktop/mjpro150 /Users/galphen/.mujoco
$ cd ~/.mujoco
$ git clone https://github.com/openai/mujoco-py.git
$ cd mujoco-py
$ sudo python3 setup.py install
$ cd .mujoco
$ wget https://www.roboti.us/getid/getid_osx
$ chmod -f 711 getid_osx
$ ./getid_osx
将得到的 computer id 输入进官网,获得30天免费的key,会通过邮件发送两个txt
将邮件里的 'mjkey.txt' 复制到 150 和 200 版本的 'bin' subdirectory,
在 .mujoco 也复制了一份
进入python,>>> import mujoco_py 试试,结果出错:
PermissionError: [Errno 13] Permission denied: b'/Users/galphen/opt/anaconda3/envs/py36/lib/python3.6/site-packages/mujoco_py-2.0.2.9-py3.6.egg/mujoco_py/generated/mujocopy-buildlock'
$ cd /Users/galphen/opt/anaconda3/envs/py36/lib/python3.6/site-packages/
$ cd mujoco_py-2.0.2.9-py3.6.egg/
$ sudo chmod -R 777 ./
这次应该好了吧,还没有
$ cd ~/.mujoco/
$ python
>>> import mujoco_py
还出错:
distutils.errors.CompileError: command '/usr/local/bin/gcc-7' failed with exit status 1
$ cd ~/.mujoco
$ pip install mujoco-py==0.5.7
这次的错误变短了,
mujoco_py.error.MujocoDependencyError: Found your MuJoCo license key but not binaries. Please put your binaries into ~/.mujoco/mjpro131 or set MUJOCO_PY_MJPRO_PATH. Follow the instructions on https://github.com/openai/mujoco-py for setup.
$ export LD_LIBRARY_PATH=$HOME/.mujoco/mujoco150/bin:$LD_LIBRARY_PATH
$ export MUJOCO_PY_MJPRO_PATH=$HOME/.mujoco/mujoco150/
$ export MUJOCO_PY_MJKEY_PATH=$HOME/.mujoco/mjkey.txt
结果出了这个,好在错误短了:
mujoco_py.error.MujocoDependencyError: MUJOCO_PY_MJPRO_PATH path does not exist: /Users/galphen/.mujoco/mujoco150/
因为我本来想把path改在 150,应该是我文件夹名字写错了,先换成 200吧,看看如何:
$ export LD_LIBRARY_PATH=$HOME/.mujoco/mujoco200/bin:$LD_LIBRARY_PATH
$ export MUJOCO_PY_MJPRO_PATH=$HOME/.mujoco/mujoco200/
$ export MUJOCO_PY_MJKEY_PATH=$HOME/.mujoco/mjkey.txt
结果:
mujoco_py.error.MujocoDependencyError: We expected your MUJOCO_PY_MJPRO_PATH final directory to be 'mjpro131', but you provided: (/Users/galphen/.mujoco/mujoco200/). MuJoCo often changes in incompatible ways between versions, so you must use MuJoCo 1.31. If you're using MuJoCo 1.31 but changed the directory name, simply change the name back.
怎么又要131?gym说它要150的,现在都到200了,结果这个py又要131,好乱呀:
$ cp -R ~/Desktop/mjpro131 /Users/galphen/.mujoco
$ cp -R ~/Desktop/mjpro140 /Users/galphen/.mujoco
$ cp ~/Desktop/mjkey.txt /Users/galphen/.mujoco/mjpro131/bin
$ cp ~/Desktop/mjkey.txt /Users/galphen/.mujoco/mjpro140/bin
mujoco_py.error.MujocoDependencyError: We expected your MUJOCO_PY_MJPRO_PATH final directory to be 'mjpro131', but you provided: (/Users/galphen/.mujoco/mjpro131/). MuJoCo often changes in incompatible ways between versions, so you must use MuJoCo 1.31. If you're using MuJoCo 1.31 but changed the directory name, simply change the name back.
Python 2 has been DEPRECATED and removed in 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.
试着按照官网安一下这个版本:
$ pip3 install -U 'mujoco-py<2.1,>=2.0'
出错:
Could not find a version that satisfies the requirement mujoco-py<2.1,>=2.0 (from versions: ) No matching distribution found for mujoco-py<2.1,>=2.0
pip install -U 'mujoco-py<2.1,>=2.0.2.0a1'
ERROR: Could not build wheels for mujoco-py which use PEP 517 and cannot be installed directly
• gym==0.9.3
• mujoco-py==0.5.7
• mujoco 131
Please make sure you are using Python 2.7. I made a conda environment with Python 2.7 and then installed gym 0.9.3
I would suggest to setup following environment:
• python v2.7.14
• gym v 0.9.3
• mujoco v131
• mujoco-py v0.5.7
目前这几个什么时候可以步伐一致呢:😂
• python v3.7
• gym v 0.17.1
• mujoco v200
• mujoco-py v2.0