MacOS X Catalina安装强化学习环境Gym+MuJoCo

最终配置:

Python vision – 3.7.2

Gym version – 0.17.0

MuJoCo v200

Mujoco-py 2.0.18

MacOS X 10.15 Catalina

安装:

1)获取MuJoCo的License

在MuJoCo官网注册并下载获取电脑id的文件getid_osx,赋予其可执行权限

chmod +x getid_linux
./getid_linux

之后按照官网的提示来激活,之后会得到OpenAI发来的License:<mjkey.txt>

2)下载mujoco200_macos.zip

3)解压mujoco200_macos.zip到隐藏文件夹.mujoco中(自行创建)

unzip mujoco200_macos.zip -d ~/.mujoco

.mujoco必须要创建在根目录

建议把mujoco200_macos文件夹里面的东西直接复制出来放到~/.mujoco/mujoco200文件夹中,以避免跑sample的时候报错

4)下载mjkey.txt*并放到.mujoco*中

5)vim ~/.bashrc

6)复制以下规则到你的bashrc文件中

export LD_LIBRARY_PATH=~/.mujoco/mujoco200/bin${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export MUJOCO_KEY_PATH=~/.mujoco/mujoco200/${MUJOCO_KEY_PATH}

7)source .bashrc

8)在git上clone下mujoco-py项目

也可以用pip来安装,但是我用pip安装的有问题

git clone https://github.com/openai/mujoco-py.git

9)之后安装各种依赖

For MacOS:
cd mujoco-py/
brew install patchelf
brew install python3 python-dev python3-dev build-essential libssl-dev libffi-dev libxml2-dev libxslt1-dev zlib1g-dev libglew1.5 libglew-dev python-pip
brew install libgl1-mesa-dev libgl1-mesa-glx libosmesa6-dev python3-pip python3-numpy python3-scipy 
sudo pip3 install -r requirements.txt
sudo pip3 install -r requirements.dev.txt
sudo python3 setup.py install
sudo pip3 install gym

由于MacOS版本是由Ubuntu版本改来的,其中安装的部分依赖可能安装失败

如果pip安装时间过长可能会报错超时,在安装命令后面加上延时就行:

pip3 install gym --default-timeout=1000
For Ubuntu:
cd mujoco-py/
sudo apt-get update
sudo apt-get install patchelf
sudo apt-get install python3 python-dev python3-dev build-essential libssl-dev libffi-dev libxml2-dev libxslt1-dev zlib1g-dev libglew1.5 libglew-dev python-pip
sudo apt-get install libgl1-mesa-dev libgl1-mesa-glx libosmesa6-dev python3-pip python3-numpy python3-scipy 
sudo pip3 install -r requirements.txt
sudo pip3 install -r requirements.dev.txt
sudo python3 setup.py install
sudo pip3 install gym

PS:你需要每次都在~/.mujoco-py文件夹中来跑仿真。如果想要在任意链接跑的话就把上述

sudo python3 setup.py install换成sudo python3 setup.py develop

至此我们已经安装完了,接下来就是测试是否安装成功了。

10)测试

import gym
env = gym.make('Humanoid-v2')
env.reset()
for _ in range(1000):
  env.render()
  env.step(env.action_space.sample()) # take a random action

image-20200226174457818

Note:如果你需要Cuda和nvidia的驱动在你的Linux上,那有可能会出现关于openGL的问题。可以试试在bash中添加以下规则:

export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGLEW.so:/usr/lib/nvidia-384/libGL.so


MacOS,Gym,MuJoCo      MacOS 强化学习

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!