在Installing MuJoCo (Optional)部分仅仅提供一个mujoco-py github page, 并且该网站上也没有详细的安装过程,因此在实际安装过程中经过了一番小折腾。为了便于自己下次安装,也便于其他小伙伴快速安装mujoco及mujoco-py ,于是在此做了一下总结。
官网原链接: Spinning up - installation
Linux版本下载地址: MuJoCo2.1
步骤二 解压到指定目录下:如果上面链接失效,可以在openai提供的github页面上下载: openai/mujoco-py
cd (压缩包所在目录下) mkdir ~/.mujoco tar -zxvf mujoco210-linux-x86_64.tar.gz -C ~/.mujoco步骤三 添加环境变量
sudo echo "export LD_LIBRARY_PATH=~/.mujoco/mujoco210/bin:$LD_LIBRARY_PATH" >> ~/.bashrc
source ~/.bashrc步骤四 测试MuJuCo
由于MuJoCo2.1版本已经开源,所以不需要添加秘钥,许可证信息等。
cd ~/.mujoco/mujoco210/bin ./simulate ../model/humanoid.xml
若出现下面界面,则表示MuJoCo2.1版本安装成功。
git https://github.com/openai/mujoco-py.git步骤二 requirements.txt中添加内容
在mujoco-py目录下的requirements.txt文件中添加内容如下
mujoco-py<2.2,>=2.1
添加后的requirements.txt内容如下
# When updating these, you may need to also update pyproject.toml glfw>=1.4.0 numpy>=1.11 Cython>=0.27.2 imageio>=2.1.2 cffi>=1.10 fasteners~=0.15 mujoco-py<2.2,>=2.1
这里也可以直接使用下面命令,另外安装
pip3 install -U 'mujoco-py<2.1,>=2.0'步骤二 激活Anaconda环境后安装MuJuCo-py
conda activate spinningup cd ~/mujoco-py pip3 install -r requirements.txt pip3 install -r requirements.dev.txt python setup.py install步骤三 测试MuJuCo-py
第一次在尝试import mujoco_py时,会报错
(spinningup) wkai@wkai-Ubuntu:~/mujoco_py/mujoco-py$ python Python 3.6.13 |Anaconda, Inc.| (default, Jun 4 2021, 14:25:59) [GCC 7.5.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import mujoco_py Traceback (most recent call last): ... Please add following line to .bashrc: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia
上面报错中提示要将
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia语句加入到.bashrc文件中,于是
gedit ~/.bashrc
在.bashrc文件底部添加如下:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia
source ~/.bashrc
再重新激活Anaconda环境测试MuJuCo-py
等了一段时间,仍继续报错
wkai@wkai-Ubuntu:~/mujoco_py/mujoco-py$ conda activate spinningup (spinningup) wkai@wkai-Ubuntu:~/mujoco_py/mujoco-py$ python Python 3.6.13 |Anaconda, Inc.| (default, Jun 4 2021, 14:25:59) [GCC 7.5.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import mujoco_py >Compiling /home/wkai/mujoco_py/mujoco-py/mujoco_py/cymj.pyx because it changed. ... FileNotFoundError: [Errno 2] No such file or directory: 'patchelf': 'patchelf'
此时只需要安装一下patchelf即可
sudo apt-get install patchelf
再次重复上面操作,重新激活Anaconda环境测试MuJuCo-py
$ python3 import mujoco_py import os mj_path = mujoco_py.utils.discover_mujoco() xml_path = os.path.join(mj_path, 'model', 'humanoid.xml') model = mujoco_py.load_model_from_path(xml_path) sim = mujoco_py.MjSim(model) print(sim.data.qpos) # [0. 0. 1.4 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] sim.step() print(sim.data.qpos) # [-2.09531783e-19 2.72130735e-05 6.14480786e-22 -3.45474715e-06 # 7.42993721e-06 -1.40711141e-04 -3.04253586e-04 -2.07559344e-04 # 8.50646247e-05 -3.45474715e-06 7.42993721e-06 -1.40711141e-04 # -3.04253586e-04 -2.07559344e-04 -8.50646247e-05 1.11317030e-04 # -7.03465386e-05 -2.22862221e-05 -1.11317030e-04 7.03465386e-05 # -2.22862221e-05]
如果出现上面类似现象,则说明安装MuJoCo-py成功。
参考网址:
参考网址:https://www.codeprj.com/blog/e5099c1.html
当继续执行下面的命令时
pip install gym[mujoco,robotics]
会报错,报错内容一部分如下:
ERROR: Command errored out with exit status 1:
...
Exception:
You appear to be missing MuJoCo. We expected to find the file here: /home/wkai/.mujoco/mjpro150
...
查阅网上很多资料,没有得到解答,那些使用mujoco2.0会出现相同的错误,但是mujoco1.5没问题。在github官网上的issue模块中也找到了类似的问题,但是没人作答:类似的问题
因此只是安装了简单版本的gym
conda activate spinningup pip3 install gym
不知道是否是Anaconda创建环境时,指定python的版本太低,使得安装gym[all]默认是mujoco1.5版本,不过这个还没有尝试。
后续在使用gym中的env.render()操作时,会报错
ERROR: GLEW initalization error: Missing GL version
解决办法:
sudo apt-get install libglew-dev sudo gedit ~/.bashrc export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGLEW.so source ~/.bashrc
这里的解决办法参考网址:
https://zhuanlan.zhihu.com/p/352304615



