栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

安装Spinning up中的mujoco和mujoco-py

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

安装Spinning up中的mujoco和mujoco-py

总结时间:2021年11月30日 电脑环境:Ubuntu 20.04+Anaconda(python3.6) 问题描述:

在Installing MuJoCo (Optional)部分仅仅提供一个mujoco-py github page, 并且该网站上也没有详细的安装过程,因此在实际安装过程中经过了一番小折腾。为了便于自己下次安装,也便于其他小伙伴快速安装mujoco及mujoco-py ,于是在此做了一下总结。
官网原链接: Spinning up - installation

============================== 安装MuJoCo 步骤一 下载MuJoCo

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版本安装成功。

============================ 安装MuJuCo-py 步骤一 克隆库到本地
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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/618936.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号