0 系统环境 & 需求
- 环境:Linux Ubuntu 20.04,Cuda 12.2(?)也可能是 11,我不是很清楚驱动版本…
- 需求:安装 gym、dm_control、MuJoCo 和 mujoco_py。
- 参考博客:知乎 | Mujoco & Mujoco-py 安装教程以及常见报错解决方法 (非常感谢🙇🏻♀️)
1 各版本 MuJoCo 的安装
下载 MuJoCo:
- MuJoCo 210:下载链接 ,会直接下载一个压缩包;
- MuJoCo 200:https://roboti.us/download.html ,点进去寻找对应的版本,下载压缩包;
- mjpro 150:https://roboti.us/download.html ,点进去寻找对应的版本,下载压缩包。
安装 MuJoCo:
- 在 ~/ 目录下建一个 .mujoco 文件夹,把刚刚下载的压缩包解压在 .mujoco 文件夹里,解压到比如 ~/.mujoco/mujoco210 或 ~/.mujoco/mujoco200 的路径下。
- MuJoCo 200 和 mjpro 150 所需要的 license(即 mjkey.txt):点进 https://roboti.us/license.html 里下载,或 下载链接 。下载完成后,放到 ~/.mujoco/mjkey.txt 的位置,或 ~/.mujoco/mujoco200/bin/mjkey.txt 的位置(记不清是哪个位置了,所以都放了一份)
设置环境变量(对于 MuJoCo 210 和 200):在 ~/.bashrc 里添加如下内容,并 source ~/.bashrc :
# ================== mujoco ==================
export MUJOCO_PY_MUJOCO_PATH=~/.mujoco/mujoco200 # 200
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/.mujoco/mujoco200/bin # 200
# export MUJOCO_PY_MUJOCO_PATH=~/.mujoco/mujoco210 # 210
# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/.mujoco/mujoco210/bin # 210
export MUJOCO_GL=egl
# ================== mujoco ==================# 忘记下面三行的作用了,但可能跟 MuJoCo 有点关系
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia
export PATH="$LD_LIBRARY_PATH:$PATH"
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGLEW.so >> ~/.bashrc
2 MuJoCo 与 mujoco_py 的版本对应(参考知乎博客)
- MuJoCo 210:pip install mujoco_py==2.1.2.14
- MuJoCo 200:pip install mujoco_py==2.0.2.8
- mjpro 150:pip install mujoco_py==1.50.1.68
(亲测这样装下来,MuJoCo 210 和 MuJoCo 200 都是正常的)
(测试方法:在 python 里 import gym,env = gym.make("Hopper-v3"),测试一下 hopper 环境,再 import mujoco_py、import dm_control)
3 Cython 编译报错
具体错误:
- 好像是这个文件报错:/mujoco-py/mujoco_py/cymj.pyx
- 参考 issue:https://github.com/openai/mujoco-py/issues/773
解决方法:需要安装低版本 Cython,pip install "Cython<3" 。