当前位置:网站首页>Win 10、Win 11 安装 MuJoCo 及 mujoco-py 教程
Win 10、Win 11 安装 MuJoCo 及 mujoco-py 教程
2022-08-02 14:33:00 【lan 606】
Win 10、Win 11 安装 MuJoCo 及 mujoco-py 教程
本次安装教程的具体配置信息如下:
日期:2022.07.25
操作系统:Windows 11
python版本:3.9.0
mujoco版本:mjpro150
mujoco-py版本:1.50.1.0
gym版本:0.13.0
1. 安装前言
1.1 安装基础说明
本安装教程是基于 Windows 系统进行,主要是为方便后续强化学习 (Reinforcement Learning,RL) 算法的对比实验。且这篇教程的创作背景是:目前大部分的教程都是写于 MuJoCo 被 DeepMind 收购之前,且安装过程崎岖,存在不少隐性坑。
需要特别说明的一点是,目前 MuJoCo 主要适用于 Linux 系统或 MacOS 系统,Windows 系统支持最完美的版本是 mjpro150 和 mujoco-py 1.50.1.0。
1.2 MuJoCo 说明
MuJoCo 最初由美国华盛顿大学运动控制实验室主任、神经科学家 Emo Todorov 开发,于2015年通过创业公司 Roboti LLC , 被打造成了商业产品。
2021年10月,DeepMind 宣布收购 MuJoCo 物理模拟器,并承诺将 MuJoCo 作为一个免费的、开源的、社区驱动的项目进行开发和维护。
简而言之,MuJoCo 的所有权从最初的 Roboti LLC 转为现在的 DeepMind ,但 Roboti LLC 依然保留了原先旧版本 MuJoCo 的官网:MuJoCo (roboti.us)
- 注:其他帖子中提供的旧版本 MuJoCo 链接均无法打开,仔细对比了一下发现是 Roboti LLC 删除了网址前的
www.。
1.3 mujoco-py 说明
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)
2. 具体安装流程
2.0 安装文件分享
为防止网络故障等因素干扰,我将安装所需的全部文件都已打包上传至 百度网盘 中,具体的链接如下:mujoco安装需要的环境_免费高速下载|百度网盘-分享无限制 (baidu.com)
2.1 安装 Visual Studio Build Tools
这一部分的安装也是我写这篇博客的主要原因,因为我按照网上提供的安装教程安装完成后始终无法正常运行对应程序,后经过排查就是在这一部分出的错。而且该部分网上教程也并未提供相应的安装成功的验证测试,所以还是程序最终能成功运行的非常重要的一环!
这一步在整个安装过程中是并不可少的,因为 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++ 生成工具,整体的占用的硬盘空间也多不了多少。
2.2 安装 mjpro150 和 mujoco-py
这一部分可参考下述帖子,安装思路清晰,每一步都有对应的截图:【Mujoco】在Win10下的安装 - 知乎 (zhihu.com)
3. 运行程序时的部分报错说明
3.1 ImportError: DLL load failed while importing cymj
这个报错是因为 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 是你电脑上实际的管理员用户名,需做出对应的修改。
3.2 distutils.errors.DistutilsExecError
这个是非常常见的一个报错,这边先给出一个报错实例:
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)
3.3 其他报错
这篇安装博客——Windows10安装开源Mujoco - 知乎 (zhihu.com) 的最后还给出了报错的一个原因:Visual Studio、visual studio SDK没有和anaconda、python、pycharm安装在一个盘里,具体我安装过程中并未遇到,如果有小伙伴在安装过程中遇到相关问题,可对应进行参考。
边栏推荐
猜你喜欢

MySQL语法入门
【JS执行机制】

【 Leetcode string, the string transform/hexadecimal conversion 】 HJ1. The length of the string last word HJ2. Calculation of a certain number of characters appear HJ30. String merging processing

Servlet基础详解

mysql 索引使用与优化

VsCode更新后,怎么使用使用快捷键同时生成多个元素

SOA(面向服务架构)是什么?

static关键字的三种重要作用详解

(数学基础)第三章-3.2-标准记号和常用函数

集成电路实践----D触发器
随机推荐
PAT甲级 1145 哈希 - 平均查找时间
2022-07-08 第五小组 瞒春 户外拓展
从零开始的循环之旅(上)
面试了个阿里P7大佬,他让我见识到什么才是“精通高并发与调优”
为什么四个字节的float表示的范围比八个字节的long要广
【无标题】
MySQL 行级锁(行锁、临键锁、间隙锁)
mysql 自动添加创建时间、更新时间
有效的括号【暴力、分支判断、哈希表】
PAT甲级 1078 哈希
数据库三范式
如何使用Swiper外部插件写一个轮播图
如何正确且快速的清楚C盘!!释放C盘空间内存保姆级教程
PAT tree DP (memory search) class a, 1079, 1090, 1106
加载事件的用法
NXP i.MX 8M Mini工业核心板B2B版本,4核ARM [email protected]设计
PAT serie a 1137 final grades
TMS320C6678开发板( DSP+Zynq )RTOS综合功能案例,嵌入式必看!
vite.config.ts 引入 `path` 模块注意点!
【无标题】