Ubuntu 16.04 安装 mujoco, mujoco_py 和 gym

 

Mujoco

(1)官网(https://www.roboti.us/license.html)注册 license,教育邮箱注册可以免费使用一年。注意:一个邮箱账号只能供一台主机使用。

  • 填写个人信息,点击 Request license,之后会收到一封来自 Roboti LLC Licensing 的邮件,里面有 Account Number

 

  • 填写 Account Number 和 Computer ID(Account Number 在之前的邮件中,Computer ID 运行文本框右侧对应平台的应用程序自动获得)
  • 点击 Register computer 后,又会收到一封邮件,内含 mjkey.txt 文件

 

 (2)官网(https://www.roboti.us/index.html)下载相应平台的 product(如 mujoco200 linux),解压到 ~/.mujoco 目录

$ mkdir ~/.mujoco
$ cp mujoco200_linux.zip ~/.mujoco
$ cd ~/.mujoco
$ unzip mujoco200_linux.zip

(3)拷贝 mjkey.txt 文件

$ cp mjkey.txt ~/.mujoco
$ cp mjkey.txt ~/.mujoco/mujoco200_linux/bin

(4)添加环境变量(~/.zshrc 或 ~/.bashrc)

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

(5)测试

$ cd ~/.mujoco/mujoco200_linux/bin
$ ./simulate ../model/humanoid.xml

若出现以下画面,说明 mujoco 安装成功

 

 mujoco_py

(1)下载源码

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

(2)安装 patchelf

$ curl -o /usr/local/bin/patchelf https://s3-us-west-2.amazonaws.com/openai-sci-artifacts/manual-builds/patchelf_0.9_amd64.elf
$ sudo chmod +x /usr/local/bin/patchelf

(3)用 conda 创建一个虚拟环境,并安装依赖

$ conda create --name gymlab python=3.7 # 执行完会在 ~/miniconda3/envs 路径下出现 gymlab 目录
$ conda activate gymlab # 激活 gymlab 虚拟环境
(gymlab) $ cd ~/mujoco-py
(gymlab) $ cp requirements.txt requirements.dev.txt ./mujoco_py
(gymlab) $ cd mujoco_py
(gymlab) $ pip install -r requirements.txt
(gymlab) $ pip install -r requirements.dev.txt

(4)安装

(gymlab) $ cd ~/mujoco-py/vendor
(gymlab) $ ./Xdummy-entrypoint
(gymlab) $ cd ..
(gymlab) $ python setup.py install

(5)测试

(gymlab) $ python
>>> import mujoco_py
# 第一次导入会加载一些东西,再导入一次就正常了
>>> import mujoco_py

 

Gym

(1)下载源码

git clone https://github.com/openai/gym.git

(2)安装

$ conda activate gymlab
(gymlab) $ cd ~/gym
(gymlab) $ pip install -e '.[all]'

(3)添加环境变量

vim ~/.zshrc
export PYTHONPATH=path/to/gym:$PYTHONPATH

(4)测试

(gymlab) $ python
>>> import gym
>>> env = gym.make(‘CartPole-v0’)
>>> env.reset()
>>> env.render()

运行结果如下:

 

posted @ 2019-09-20 16:18  Hongkai_Ding  阅读(7527)  评论(7编辑  收藏  举报