Ubuntu20.04安装mujoco210, mujoco-py时的报错处理
参考 Ubantu 20.04 安装 Mujoco210、mujoco-py、gym及报错解决
安装 mujoco210
- 创建 .mujoco 文件夹
mkdir ~/.mujoco
亲测必须是 .mujoco 文件夹,不然会报错!
-
下载 mujoco210-linux-x86_64.tar.gz 并解压到 .mujoco 文件夹
mojoco下载地址 -
测试 mojoco210
cd ~/.mujoco/mujoco210/bin
./simulate ../model/humanoid.xml
安装 mujoco-py
- 创建虚拟环境
conda create -n xxx python=3.8
conda activate xxx
- 克隆 mujoco-py
git clone https://github.com/openai/mujoco-py.git
这个路径可以随意放置
- 在虚拟环境下安装 mujoco-py
cd ~/mujoco-py
pip3 install -U 'mujoco-py<2.2,>=2.1'
pip3 install -r requirements.txt
pip3 install -r requirements.dev.txt
python3 setup.py install
- 配置环境变量
gedit ~/.bashrc
# 此处更改了所参考博文中的不当之处,相同名称的环境变量要确保所有路径合并,不然后反复交叉报错
# user_name 为用户名
export LD_LIBRARY_PATH=/usr/lib/nvidia:/home/user_name/.mujoco/mujoco210/bin:$LD_LIBRARY_PATH
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGLEW.so
source ~/.bashrc
- 测试 1
测试方法参照所参考的博文,在 pycharm (解释器设置为上述虚拟环境)中粘贴以下内容:
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. 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)
# [-2.09531783e-19 2.72130735e-05 6.14480786e-22 -3.45474715e-06
# 7.42993721e-06 -1.40711141e-04 -3.04253586e-04 -2.07559344e-04
# 8.50646247e-05 -3.45474715e-06 7.42993721e-06 -1.40711141e-04
# -3.04253586e-04 -2.07559344e-04 -8.50646247e-05 1.11317030e-04
# -7.03465386e-05 -2.22862221e-05 -1.11317030e-04 7.03465386e-05
# -2.22862221e-05]
运行将会报错,这主要是由于 pycharm 无法获取到 .bashrc 中的环境变量信息,需要手动添加环境变量:
名称 LD_LIBRARY_PATH
值 /usr/lib/nvidia:/home/user_name/.mujoco/mujoco210/bin:$LD_LIBRARY_PATH
在代码处 鼠标右键 修改运行配置
还可能报一些文件/依赖缺失的错,逐个安装即可:
sudo apt-get update
sudo apt-get install \patchelf \libglew-dev \libglfw3-dev \libosmesa6-dev \libegl1-mesa-dev \python3-dev \build-essential
运行成功!
- 测试2
测试方法参照所参考的博文
conda activate mujocopy38
cd ./mujoco-py/examples
python body_interaction.py
运行成功!