本次安装教程的具体配置信息如下:
日期:2022.07.25
操作系统:Windows 11
python版本:3.9.0
mujoco版本:mjpro150
mujoco-py版本:1.50.1.0
gym版本:0.13.0
本安装教程是基于 Windows 系统进行,主要是为方便后续强化学习 (Reinforcement Learning,RL) 算法的对比实验。且这篇教程的创作背景是:目前大部分的教程都是写于 MuJoCo 被 DeepMind 收购之前,且安装过程崎岖,存在不少隐性坑。
需要特别说明的一点是,目前 MuJoCo 主要适用于 Linux 系统或 MacOS 系统,Windows 系统支持最完美的版本是 mjpro150 和 mujoco-py 1.50.1.0。
MuJoCo 最初由美国华盛顿大学运动控制实验室主任、神经科学家 Emo Todorov 开发,于2015年通过创业公司 Roboti LLC , 被打造成了商业产品。
2021年10月,DeepMind 宣布收购 MuJoCo 物理模拟器,并承诺将 MuJoCo 作为一个免费的、开源的、社区驱动的项目进行开发和维护。
简而言之,MuJoCo 的所有权从最初的 Roboti LLC
转为现在的 DeepMind
,但 Roboti LLC 依然保留了原先旧版本 MuJoCo 的官网:MuJoCo (roboti.us)
www.
。OpenAI 官方提供的 mujoco-py Github 地址:openai/mujoco-py: MuJoCo is a physics engine for detailed, efficient rigid body simulations with contacts. mujoco-py allows using MuJoCo from Python 3. (github.com)
比较好的支持 Windows 10 / Windows 11 系统的版本是 v1.50.1.0:Release v1.50.1.0 · openai/mujoco-py (github.com)
为防止网络故障等因素干扰,我将安装所需的全部文件都已打包上传至 百度网盘 中,具体的链接如下:mujoco安装需要的环境_免费高速下载|百度网盘-分享无限制 (baidu.com)
这一部分的安装也是我写这篇博客的主要原因,因为我按照网上提供的安装教程安装完成后始终无法正常运行对应程序,后经过排查就是在这一部分出的错。而且该部分网上教程也并未提供相应的安装成功的验证测试,所以还是程序最终能成功运行的非常重要的一环!
这一步在整个安装过程中是并不可少的,因为 mujoco仿真引擎是基于C/C++的,所以每一次运行时实际上都是通过 VS Build Tools 进行编译转换。这边先给出 Microsoft Visual Studio 的官网:下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux (microsoft.com)
如果你决定安装 22 版本的 visual studio build tools,可以直接在官网页面下拉找到 所有下载-适用于 Visual Studio 2022 的工具-Visual Studio 2022 生成工具
进行下载,具体如下 图1 所示:
当然,如果你想要安装之前版本的生成工具,可以在底部较早的下载项中自行寻找。
在 2.0 节 安装文件分享中,我已在百度网盘中添加 vs_buildtools_2017.exe、vs_buildtools_2019.exe 和 vs_buildtools_2022.exe 三个文件,有需要可自行取用。
我在几天的安装过程中将 vs_buildtools 2017、vs_buildtools 2019 和 vs_buildtools 2022 都进行了相应的测试,应该都是可以成功进行安装的。需要额外说明的是,部分帖子上说安装 vs_buildtools 2015,实测安装过程中会提示 visual studio C++ build tools 安装包丢失或毁坏
,如果你一定要安装 vs_buildtools 2015 版本,这边提供一个对应的解决方案:解决visual studio C++ build tools时安装包缺失或损坏的问题(亲测绝对有用!!!)_Aaron-ywl的博客-CSDN博客
最终我安装的是 vs_buildtools_2017.exe,安装时选择的界面如下 图2 所示:
有其他教程中说只需要勾选 Windows 10 SDK
即可完成该步骤,在我的实际安装测试中是无法正常运行程序的,所以建议还是勾选 Visual C++ 生成工具
,整体的占用的硬盘空间也多不了多少。
这一部分可参考下述帖子,安装思路清晰,每一步都有对应的截图:【Mujoco】在Win10下的安装 - 知乎 (zhihu.com)
这个报错是因为 Python 的版本较高,自 Python 3.8 开始,在程序运行时只会加载 trusted dlls
。该问题已在 Github 上有对应的 Issue,具体可参考:ImportError: DLL load failed while importing cymj: The specified module could not be found. · Issue #638 · openai/mujoco-py (github.com)
解决方案就是对于 Python 3.8 及以上的 Python 版本 每次运行
import mujoco_py
指令前需要先运行下述三行命令:
import os
os.add_dll_directory("C://Users//XXX//.mujoco//mjpro150//bin")
os.add_dll_directory("C://Users//XXX//.mujoco//mujoco-py-1.50.1.0//mujoco_py")
其中,路径中的 XXX
是你电脑上实际的管理员用户名,需做出对应的修改。
这个是非常常见的一个报错,这边先给出一个报错实例:
CompileError: command ‘C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe’ failed with exit status 2
cl : Command line warning D9025 : overriding ‘/W3’ with ‘/w’ cl : Command line warning D9002 : ignoring unknown option ‘-fopenmp’
GitHub 上也给出了该报错的原因和相应的解决方案,具体是因为电脑上安装的路径名过长,包括 Python 安装路径名和 vsbuildtools 安装路径名,具体的 Github 上对应 Issue 参见:Fatal error - file name too long · Issue #298 · openai/mujoco-py (github.com)
这篇安装博客——Windows10安装开源Mujoco - 知乎 (zhihu.com) 的最后还给出了报错的一个原因:Visual Studio、visual studio SDK没有和anaconda、python、pycharm安装在一个盘里,具体我安装过程中并未遇到,如果有小伙伴在安装过程中遇到相关问题,可对应进行参考。