恒源云服务器ubuntu系统Python3.8安装mujoco200、mujoco-py2.0.2.8

🔧 一、安装前准备

  1. 安装系统依赖

    sudo apt update
    sudo apt install build-essential libgl1-mesa-glx libglew-dev patchelf libosmesa6-dev libglfw3-dev python3-dev
    

    确保GCC编译器、OpenGL驱动等基础工具完整安装,避免后续编译失败。

  2. 获取MuJoCo许可证

    • 访问官网 https://www.roboti.us/license.html。
    • 下载许可证文件 mjkey.txt,需确认安装目标设备。

📂 二、安装MuJoCo核心文件

  1. 下载与解压

    wget https://www.roboti.us/download/mujoco200_linux.zip -P ~/
    unzip ~/mujoco200_linux.zip -d ~/.mujoco
    mv ~/.mujoco/mujoco200_linux ~/.mujoco/mujoco200
    cp mjkey.txt ~/.mujoco/  # 复制许可证到主目录
    cp mjkey.txt ~/.mujoco/mujoco200/bin/  # 复制到bin目录
    cp mjkey.txt ~/.mujoco/mujoco200/  # 复制到目录
    

    解压后必须重命名文件夹为 mujoco200,否则路径识别可能失败。

  2. 验证核心安装

    cd ~/.mujoco/mujoco200/bin
    ./simulate ../model/humanoid.xml
    

    若显示橘黄色人形模型动画,说明MuJoCo核心安装成功。


⚙️ 三、配置环境变量

编辑 ~/.bashrc~/.zshrc,末尾添加:

echo 'export MUJOCO_PY_MUJOCO_PATH=$HOME/.mujoco/mujoco200' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.mujoco/mujoco200/bin' >> ~/.bashrc
echo 'export MUJOCO_GL=egl' >> ~/.bashrc
source ~/.bashrc

生效配置:

source ~/.bashrc

🐍 四、安装mujoco_py(Python绑定)

  1. 创建Conda环境(推荐)

    conda create -n mujoco_env python=3.8  # Python 3.8兼容性最佳
    conda activate mujoco_env
    
  2. 安装Cython(一定要这个版本,否则会报错)

pip install cython==0.29.24
  1. 安装mujoco_py
    一定要这个版本

    pip install mujoco-py==2.0.2.8  # 指定兼容的版本
    

    若安装失败,检查是否遗漏 libosmesa6-devpatchelf 等依赖。


✅ 五、验证完整安装

import os
os.environ['LD_LIBRARY_PATH'] += ':/root/.mujoco/mujoco200/bin'
import mujoco_py
import mujoco_py
import os

# 1. 取 tuple 第 0 个元素
# mj_path = mujoco_py.utils.discover_mujoco()[0]

# 2. 或者直接解压(如果返回的一元组)
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)

在这里插入图片描述

若无报错且数据更新,表明mujoco_py集成成功。

✅程序报错1:

Import error. Trying to rebuild mujoco_py.
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
Cell In[1], line 3
      1 import os
      2 os.environ['LD_LIBRARY_PATH'] += ':/root/.mujoco/mujoco200/bin'
----> 3 import mujoco_py

File /usr/local/miniconda3/lib/python3.8/site-packages/mujoco_py/__init__.py:3
      1 #!/usr/bin/env python
      2 import os
----> 3 from mujoco_py.builder import cymj, ignore_mujoco_warnings, functions, MujocoException
      4 from mujoco_py.generated import const
      5 from mujoco_py.mjrenderpool import MjRenderPool

File /usr/local/miniconda3/lib/python3.8/site-packages/mujoco_py/builder.py:506
    502     functions.mj_activate(key_path)
    505 mujoco_path, key_path = discover_mujoco()
--> 506 cymj = load_cython_ext(mujoco_path)
    509 # Trick to expose all mj* functions from mujoco in mujoco_py.*
    510 class dict2(object):

File /usr/local/miniconda3/lib/python3.8/site-packages/mujoco_py/builder.py:106, in load_cython_ext(mujoco_path)
    104     if mod is None:
    105         cext_so_path = builder.build()
--> 106         mod = load_dynamic_ext('cymj', cext_so_path)
    108 return mod

File /usr/local/miniconda3/lib/python3.8/site-packages/mujoco_py/builder.py:125, in load_dynamic_ext(name, path)
    123 """ Load compiled shared object and return as python module. """
    124 loader = ExtensionFileLoader(name, path)
--> 125 return loader.load_module()

ImportError: libglewosmesa.so: cannot open shared object file: No such file or directory

解决方案:如果 libglewosmesa.so 只在 mujoco 目录,直接链接到系统库路径

sudo ln -sf /root/.mujoco/mujoco200/bin/libglewosmesa.so /usr/lib/libglewosmesa.so
sudo ln -sf /root/.mujoco/mujoco200/bin/libglewosmesa.so /usr/lib/x86_64-linux-gnu/libglewosmesa.so

(部分系统 /usr/lib64/usr/local/lib 更合适,可按需调整。)

✅程序报错2:

next_obs, reward, done, info = self.env.step(action)
obs, reward, done, info = self.env.step(action)
ValueError: not enough values to unpack (expected 5, got 4)

建议安装兼容的Gym版本:

pip install gym==0.23.1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Better Bench

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值