python, gym, mujoco, mujoco-py 你们之间的关系让我很想吐槽

今天要用 Gym 里面的 LunarLander-v2 环境,结果报错,寻思着重新安装一下,于是一段漫长的连环坑就开始了。


要安装gym:

$ conda install -c akode gym

结果:

Specifications:

  - gym -> python[version='>=3.6,<3.7.0a0']

Your python: python=3.7

于是安装 python 3.6

$ 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

在mujoco网站下载getid,运行

$ 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 也复制了一份

安装好了mujoco,寻思按照官网run一下:

进入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.

0.5.7应该是只适用于py2:

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容