一、
参照mujoco-py在GitHub上的主页说明,进行安装
https://github.com/openai/mujoco-py/blob/master/README.md
Install MuJoCo
1 Download the MuJoCo version 2.1 binaries for Linux or OSX.
2 Extract the downloaded mujoco210 directory into ~/.mujoco/mujoco210.
安装完成后进行测试
cd ~/.mujoco/mujoco200/bin
./simulate ../model/humanoid.xml
二、
之后安装mujoco-py,是否进入虚拟环境我目前还不太了解具体原因,我是在虚拟环境下安装的
方法一
pip3 install -U 'mujoco-py<2.2,>=2.1'
出现问题
可能是还没包含进来(2021-11月,此时mujoco刚刚开源)
方法二
于是参考:
https://blog.csdn.net/lllxxq141592654/article/details/92759986
https://zhuanlan.zhihu.com/p/103271894
https://blog.csdn.net/wq13552463699/article/details/115036626
之前自己已经建好了虚拟环境,于是进入虚拟环境,参照以下代码进行安装
cd ~/mujoco-py
pip install -r requirements.txt
pip install -r requirements.dev.txt
python setup.py install
都安装完后进行测试
python
import mujoco_py
先后报了两个错误:
Exception:
Missing path to your environment variable.
Current values LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64:/home/cc/catkin_google_ws/install_isolated/lib:/home/cc/catkin_ws/devel/lib:/opt/ros/noetic/lib:/opt/ros/noetic/lib/x86_64-linux-gnu
Please add following line to .bashrc:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/cc/.mujoco/mujoco210/bin
Exception:
Missing path to your environment variable.
Current values LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64:/home/cc/catkin_google_ws/install_isolated/lib:/home/cc/catkin_ws/devel/lib:/opt/ros/noetic/lib:/opt/ros/noetic/lib/x86_64-linux-gnu:/usr/local/cuda-11.2/lib64:/home/cc/.mujoco/mujoco210/bin
Please add following line to .bashrc:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia
于是把这两句添加到 .bashrc或者.zshrc中,然后source一下
(可能是跟教程不一样,上述三个教程都写了要添加环境变量,我添加了,不知道是不是格式不对,竟然不好使
网上写的添加变量的步骤:
gedit ~/.bashrc
export LD_LIBRARY_PATH=~/.mujoco/mujoco200/bin${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export MUJOCO_KEY_PATH=~/.mujoco${MUJOCO_KEY_PATH}
source ~/.bashrc
)
继续import进行测试,报错
FileNotFoundError: [Errno 2] No such file or directory: 'patchelf': 'patchelf'
这个简单,sudo apt-get install patchelf
就行了
之后继续import,出现
没有其他的,就表明安装成功了
然后建立一个测试文件mujocotest.py,代码扔进去,
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. 0. 0. 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]
在文件所在的目录内进入虚拟环境,然后运行py文件
python mujocotest.py
输出两个矩阵,就算是安装完成了。
运行mujoco_py中自带的例子
cd ~/mujoco-py/examples/
python3 py文件
如
python3 setting_state.py
报错
Creating window glfw
ERROR: GLEW initalization error: Missing GL version
Press Enter to exit ...Killed
解决办法:
把下列语句加入到 zshrc中,并source
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGLEW.so
三、
gym安装
gym目前只支持mujoco1.5,原因是2.0及以后的版本还没完成测试,出过问题,所以开发者降级了版本。
详见https://github.com/openai/gym/issues/1883
但是mujoco现在开源了,版本到了2.1,不想再重装1.5,于是
具体的解除mujoco依赖的安装方法参见
https://blog.csdn.net/hehedadaq/article/details/109012048
https://blog.csdn.net/weixin_43192983/article/details/119381003(没试过)
里面由两种方法,我采用第二种,安装成功了,然后试了第一种,也没报错
四、
baselines不安装了,因为基于TensorFlow,我比较习惯pytorch,还是装elegantRL,但是目前elegantRL是基于pybullet gym的,不知道这么搞行不行
安装代码如下,这里注意一下,跟前面一样,需要下载下来之后,去修改文件夹中的setup.py,把pybullet这个给屏蔽掉
git clone https://github.com/AI4Finance-Foundation/ElegantRL.git
cd ElegantRL
pip3 install .
五、
安装robosuite
https://blog.csdn.net/qq_39816905/article/details/121501702
https://robosuite.ai/docs/installation.html#
可参考该文
https://zhuanlan.zhihu.com/p/103271894
六、
spinning up尽量还是别安装了,setup.py中的依赖的版本都过低,如需安装请重新构建一个虚拟环境,单独安装。