【Linux】Ubun16.04服务器配置Mujoco的各种错误解决方案

一把辛酸泪,不论在哪配置强化学习环境,Mujoco永远是错误套错误套错误…
接下来,Mujoco下载和获取密匙、mujoco环境变量等过程跳过,这些几乎不会遇到问题。从安装编译mujoco_py开始看看Mujoco无底洞一样的坑。

获取更多内容,请访问博主的个人博客 爱吃猫的小鱼干的Blog

一 必不可缺的库

先来看看官方示例,如果你运行下面命令并成功安装,那可真是天选之子。

sudo apt install libosmesa6-dev libgl1-mesa-glx libglfw3

博主数台机器没有一次是直接成功,报错一般是libosmesa6 (= 11.2.0-1ubuntu2) but it is not going to be installed这样,接下来看看报错时的解决方案:

主要问题集中在上面三个库的依赖不存在,或者已经存在版本更高的依赖而导致安装无法继续,其它教程里的sudo apt-get -f install <…>等方法并不能很好的解决问题,这里使用如下指令:

sudo aptitude install libosmesa6-dev libgl1-mesa-glx libglfw3

同样会自动分析依赖,不同的是,它会给出解决方案,在执行命令后,会提示选择(Y/n/q/?)。一般而言,第一个解决方案意思是放弃安装,这当然不行,我们先选择n;执行后给出第二个解决方案,意思是自动更新安装一些依赖,这时候再选择Y。问题解决。

二 安装mujoco_py

2.1 从源码安装mujoco

pip安装mujoco_py日常失败,从源码安装

git clone https://github.com/openai/mujoco-py.git
cd mujoco-py
sudo apt-get update
sudo apt-get install libgl1-mesa-dev libgl1-mesa-glx libosmesa6-dev python3-pip python3-numpy python3-scipy
"前提是,已经激活了项目所用的python虚拟环境"
pip3 install -r requirements.txt
python3 setup.py install

从源码安装完成,边祈祷边测试:

python
import mujoco_py

执行上面的命令后,开始进行必要的编译,成功的可能性微乎其微,下面展示多种错误及解决方案:
报错后不要只看最后一行,依次看看全部的报错内容,找到问题根源(关键词),从下面找对应的解决方法

2.2 错误1 fatal error: GL/osmesa.h: No such file or directory

检查一下libosmesa6-dev是否成功安装,没有的话用“一”中的方法安装

2.3 错误2 lGL问题 /usr/bin/ld: cannot find -lGL

这个问题的最后一行报错一般表现为:distutils.errors.LinkError: command ‘gcc’ failed with exit status 1。

原因是缺少库 libgl1-mesa-dev,同样用“一”中的方法解决:

sudo aptitude install libgl1-mesa-dev
sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.1 /usr/lib/x86_64-linux-gnu/libGL.so

2.4 问题3 patchelf问题 FileNotFoundError: [Errno 2] No such file or directory: ‘patchelf’: ‘patchelf’

安装该库即可

sudo apt-get install patchelf

如果安装之后还有报错,例如包括如下两条报错内容:
running build_ext stat: No such file or directory
subprocess.check_call([‘patchelf’, ‘–remove-rpath’, so_file])

这时候如果你的虚拟环境使用conda创建的,那么很幸运,如下指令将解决所有问题:

conda install -c anaconda patchelf

至此,博主遇到的坑全部填完,特别提示,在linux下编译mojoco时候,最后一行报错提示经会是…“gcc”…,这时候一定仔细查看每行报错内容,找到问题根源,一般而言和gcc版本等问题毫无关系

获取更多内容,请访问博主的个人博客 爱吃猫的小鱼干的Blog

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值