win10安装Mujoco150和mujoco-py 1.50.1.0

win10似乎不太支持mujoco210+,但是如果直接命令行 pip install mujoco-py 就会安装上适配于mujoco210的mujoco-py,所以还是要手动装

参考链接:https://zhuanlan.zhihu.com/p/383655571

1.下载安装mujoco150

链接:https://www.roboti.us/index.html

下载mjpro150 win64,因为mujoco已经不支持Windows下的2.0版本,GitHub说明:

解压放这

获取密钥,不过现在已经开源了

获取密钥,在MuJoCo (roboti.us)填写信息获取密钥,因为我是学生,所以就以学生来做演示

在上图填写信息,邮箱用学生邮箱,底下只用勾选student,然后大致过了3天左右会收到邮件(有可能被邮箱识别为垃圾邮件),邮件如下

中间给了一串数字字母的组合,然后回到mujoco的网站

在上图中第一栏填写邮件中的那串数字,下面一栏填写你的computer id,不知道的话旁边提供了工具下载,点击旁边的win64下载后运行就自动显示你的computer id,填好提交后会收到密钥(包含了一个mjkey.txt文件)

将邮件中的mjkey.txt文件放入C:\Users\xxx\.mujoco文件夹以及C:\Users\xxx\.mujoco\mjpro150\bin文件夹中,运行下面代码可以测试一下

cd C:\Users\xxx\.mujoco\mjpro150\bin
simulate.exe ../model/humanoid.xml

 也可以运行 simulate 以后把 model 里的文件再拖进去

安装成功就可以显示

2.配环境变量

新建两个环境变量名

变量名:MUJOCO_PY_MJPRO_PATH
变量值:C:\Users\xxx\.mujoco\mjpro150

变量名:MUJOCO_PY_MJKEY_PATH
变量值:C:\Users\xxx\.mujoco\mjpro150\bin\mjkey.txt

添加好后如下图所示

然后在系统变量里的Path添加如下路径:

 3.安装 mujoco_py

链接:https://github.com/openai/mujoco-py/releases

 https://github.com/openai/mujoco-py#install-mujoco 的右侧release可以跳转到上面的链接

 

 我下载安装在这,还改了名

在 C:\Users\xxx\.mujoco\mujoco-py 目录下运行以下命令即可安装成功

pip install -r requirements.txt
pip install -r requirements.dev.txt
python setup.py install

 但是我也是能在这个 C:\Users\xxx\.mujoco\mujoco-py 下成功导入 import mujoco_py,别的目录就不行

考虑到可能是环境变量的问题,再添加环境变量 C:\Users\xxx\.mujoco\mujoco-py\mujoco_py 似乎就成功了

参考别的博客,可能也可以成功

添加到系统变量的Path中后任然没有解决,后面试了很多办法解决了,解决方法如下:

a. 复制C:\Users\LENOVO-PC\.mujoco下的mujoco-py文件

b. 进入anaconda中自己建立的python虚拟环境中的包目录,我的目录为:D:\Users\LENOVO-PC\anaconda3\envs\RL_TF_CPU\Lib\site-packages

c. 在包目录中找到mujoco-py的文件夹,删除此文件夹

d. 粘贴新的mujoco-py文件夹(刚刚复制的那个)

然后就可以在任意目录下正常运行mujoco了~

4.成功运行

测试代码

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.  0.  0.  0.  0.  0.  0.  0. ]
sim.step()
print(sim.data.qpos)
#[-1.12164337e-05  7.29847036e-22  1.39975300e+00  9.99999999e-01
#  1.80085466e-21  4.45933954e-05 -2.70143345e-20  1.30126513e-19
# -4.63561234e-05 -1.88020744e-20 -2.24492958e-06  4.79357124e-05
# -6.38208396e-04 -1.61130312e-03 -1.37554006e-03  5.54173825e-05
# -2.24492958e-06  4.79357124e-05 -6.38208396e-04 -1.61130312e-03
# -1.37554006e-03 -5.54173825e-05 -5.73572648e-05  7.63833991e-05
# -2.12765194e-05  5.73572648e-05 -7.63833991e-05 -2.12765194e-05]

posted on 2022-03-07 23:45  蔡军帅  阅读(1185)  评论(1编辑  收藏  举报