Ubantu 20.04 安装 Mujoco210、mujoco-py、gym及报错解决

article/2025/8/18 6:27:23

1. 安装Mujoco

1.1 官网下载Mujoco210安装包

Mujoco2.1.0下载链接

选第一个

1.2 创建文件夹并解压安装包
mkdir ~/.mujoco

创建好后,点击显示隐藏文件可以找到

找到刚刚下载的压缩包所在位置(一般在下载目录下),右键选择 在终端打开

tar -zxvf mujoco210-linux-x86_64.tar.gz -C ~/.mujoco

1.3 设置环境变量
gedit ~/.bashrc

在最后一行加入下面代码然后保存退出文档

export LD_LIBRARY_PATH=~/.mujoco/mujoco210/bin

更新环境变量

source ~/.bashrc

这就安装完了。

1.4 测试Mujoco
cd ~/.mujoco/mujoco210/bin
./simulate ../model/humanoid.xml

出现上图的界面,则mujoco安装成功。

2. 安装mujoco-py

2.1 创建虚拟环境
conda create -n ttmujoco python=3.8
conda activate ttmujoco

这里注意python版本不宜太低

2.2 下载mujoco-py安装包

确保在刚刚创建的虚拟环境中,输入

git clone https://github.com/openai/mujoco-py.git

2.3 然后依次执行下面的命令
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
2.4 配置环境文件
gedit ~/.bashrc

在最后加上这三句

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia 
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/XXX/.mujoco/mujoco210/bin
# XXX 是你的用户名
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGLEW.so

 更新配置

source ~/.bashrc
2.5 测试mujoco-py
2.5.1测试1

在pycharm中新建一个python文件并使用前面刚刚创建的环境(ttmujoco)

输入以下代码

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]

这个时候可能就要报错了

错误1:

Exception: 
Missing path to your environment variable. 
Current values LD_LIBRARY_PATH=
Please add following line to .bashrc:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/XXX/.mujoco/mujoco210/bin

或者

ERROR: GLEW initalization error: Missing GL version

这两个解决方案同理,只是具体的环境变量名称不一样

错误1的环境变量是:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/wenjingwu/.mujoco/mujoco210/bin

错误2的环境变量是:export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGLEW.so

解决方案1:检查2.4是否把环境变量写进去了,没写的话要加进去

解决方案2:右键选择“修改运行配置” ,在环境变量这里把提示你少的这个环境变量加进去

然后发现还是不行..

解决方案3: 关闭pycharm和终端,找到pycharm.sh所在位置,右键然后选择在终端打开,然后输入

./pycharm.sh

参考这里的解决方案,因为我每次都是直接点击桌面图标进入pycharm,好像并没有解决问题,尝试了一下从终端进入,瞬间就好起来了!

最后这样的输出结果就是成功了。

错误2:

Exception check on 'c_warning_callback' will always require the GIL to be acquired.
Possible solutions:
    1. Declare 'c_warning_callback' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
    2. Use an 'int' return type on 'c_warning_callback' to allow an error code to be returned.
performance hint: /home/wenjingwu/anaconda3/envs/rl_ur5/lib/python3.12/site-packages/mujoco_py/cymj.pyx:104:5: Exception check on 'c_error_callback' will always require the GIL to be acquired.
Possible solutions:
    1. Declare 'c_error_callback' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
    2. Use an 'int' return type on 'c_error_callback' to allow an error code to be returned.

Error compiling Cython file:
------------------------------------------------------------
...
    See c_warning_callback, which is the C wrapper to the user defined function
    '''
    global py_warning_callback
    global mju_user_warning
    py_warning_callback = warn
    mju_user_warning = c_warning_callback
                       ^
------------------------------------------------------------
 

解决:更改cython版本

pip install cython==3.0.0a10
2.5.2 测试2

下面再试一下文件中自带的例子

首先进入创建的虚拟环境中

conda activate ttmujoco

切换文件夹

cd ./mujoco-py/examples
python body_interaction.py

尝试用pycharm打开运行也是没问题的

3. 安装gym

3.1 先进入自己创建的虚拟环境
conda activate ttmujoco
3.2 切换到.mujoco文件夹
cd  ~/.mujoco/
3.3 下载gym安装包
git clone https://github.com/openai/gym
3.4 切换到gym文件夹
cd gym
3.5 安装
pip install -e '.[all]'

3.6 报错解决

错误1:error: subprocess-exited-with-error

解决:

pip uninstall setuptools
pip install setuptools==69.0.0
pip install -e '.[all]'

错误2:error: command 'swig' failed: No such file or directory

解决:

sudo apt install swig
pip install -e '.[all]'

3.7 配置环境变量
gedit ~/.bashrc

在最后加上

export PYTHONPATH=~/.mujoco/gym:$PYTHONPATH

更新一下

source ~/.bashrc

完成!

3.8 测试

试了好几篇文章的测试代码都报错,最后终于在这里找到了答案。

直接把2.5.1中测试的代码注释掉,换成下面的代码就可以。

3.8.1 代码1
import gym
env = gym.make('MountainCar-v0', render_mode = 'human')
for i_episode in range(10):observation = env.reset()for t in range(100):env.render()print(observation)action = env.action_space.sample()observation, reward, done, info, _ = env.step(action)if done:print("Episode finished after {} timesteps".format(t+1))break
env.close()

3.8.2 代码2
import gym
env = gym.make('CartPole-v1', render_mode = "human")
for episode in range(10):env.reset()print("Episode finished after {} timesteps".format(episode))for _ in range(100):env.render()env.step(env.action_space.sample())
env.close()


http://www.hkcw.cn/article/VpaBtLPPhq.shtml

相关文章

CUDA重大更新:原生Python可直接编写高性能GPU程序

NVIDIA 在2025年GTC大会上宣布了一项具有里程碑意义的技术更新&#xff1a;CUDA并行计算平台正式支持原生Python编程。这一突破性进展将消除Python开发者进入GPU加速计算领域的主要技术壁垒&#xff0c;无需再依赖C/C语言作为中介。 此次更新意味着数千万Python开发者现在可以…

Python的pandas库基础知识(超详细教学)

目录 一、配置环境 二、序列和数据表 2.1 初始化 2.2 获取数值 2.3 获取索引 2.4 索引取内容 2.5 索引改变取值 2.6 字典生成序列 2.7 计算取值出现次数 2.8 数据表 2.9 数据表添加新变量 2.10 获取列名 2.11 根据列名获取数据 2.12 输出固定行 2.13 输出多行…

男子把矿泉水带到高原一觉醒来大变样 当地的水就没事

男子把矿泉水带到高原,一觉醒来大变样,当地的水就没事!矿泉水被带到高原后出现的物理变化主要与高原环境的气压和温度条件有关,具体表现如下:1.瓶体膨胀现象高原地区平均气压仅为平地的60%-70%,密封瓶装水在运输过程中因外部气压骤降,内部气体体积膨胀导致瓶身变形,可能…

年轻人,花1000多亿干这个!押注谷子经济

年轻人,花1000多亿干这个!押注谷子经济。“六一”前夕,义乌国际商贸城一区内,印着动漫主人公的巨幅海报已经换上,最新的盲盒、徽章以及各种周边好物被摆在了最显眼的位置。2000多家玩具批发商户汇聚于此,谷子浓度越来越高。“谷子”由英文“Goods”音译而来,这个词囊括了…

“端午躲好午,不愁没好运”怎么躲午? 五种方法保平安

“端午躲好午,不愁没好运”怎么躲午? 五种方法保平安!艾旗迎百福,蒲剑斩千邪。今年的端午节比往年早一些,大街小巷已经有很多售卖艾蒿的商贩。端午节是中国传统的四大佳节之一,有着悠久的历史和丰富的文化习俗。进入农历五月后,阳光变得炙热,雨水增多,这个时节是各种毒…

基于python合成100X100的透明背景图片和图标

一、实现思路 1. 加载图像 使用 Image.open() 加载图标图像。 Image.new() 创建一个新的透明背景图像。 2. 调整大小 使用 resize() 方法调整图标图像的大小&#xff0c;确保它不会超过背景图像的一半大小。这里使用 Image.Resampling.LANCZOS 作为过滤器&…

新能源电池壳冲压车间看板实施

车间漫游 这个厂区就一个车间&#xff0c;面积还好&#xff0c;但是被机器和仓库区的产品塞得满满当当。我观察车间布局&#xff0c;为了出货方便&#xff0c;仓库区就在大门旁&#xff0c;叉车到门口货车的转运很快速方便。到车间后&#xff0c;对接人还没来&#xff0c;我们…

秋招Day10 - JVM - 内存管理

JVM组织架构主要有三个部分&#xff1a;类加载器、运行时数据区和字节码执行引擎 类加载器&#xff1a;负责从文件系统、网络或其他来源加载class文件&#xff0c;将class文件中的二进制数据加载到内存中运行时数据区&#xff1a;运行时的数据存放的区域&#xff0c;分为方法区…

茅台经销商被罚后起诉市监局续:法院重审一审撤销处罚决定

“贵州茅台经销商被罚后起诉市监局”一案近日有了最新进展。澎湃新闻从当事人及其代理律师处了解到,贵州省都匀市人民法院日前对该案作出重审一审判决,认定案涉处罚决定适用法律错误、程序违法,决定撤销黔南州市场监督管理局此前作出的行政处罚决定。澎湃新闻此前报道,郭亮…

花生壳里塞冰淇淋卖28一个 真果壳制成引争议

花生壳里塞冰淇淋卖28一个 真果壳制成引争议!近日,一位女子发布视频称,在苏州一家餐厅遇到了价格高昂的冰淇淋。她提到,一份装在花生壳里的冰淇淋售价28元,分量却少得惊人。尽管服务员会帮忙切开,仪式感十足,但她认为并不值这个价格。记者随后走访了位于苏州市姑苏区美罗…

严重或可能导致死亡!不要空腹吃荔枝 了解“荔枝病”真相

最近,话题#荔枝病突然成为热门话题。广东一名女子因过量食用荔枝后,次日出现头晕不适、持续性鼻出血等症状,最终被诊断为“荔枝病”。科普博主表示,此病严重时会引发休克甚至死亡。荔枝病也称为低血糖急性脑炎综合征,发病人群以4至11岁的儿童较为多见。一旦发生,会导致人…

工信部曝光:“腾讯支付”有诈!冒名诈骗需警惕

工信部反诈专班近日发布消息称,有用户举报发现了一款名为“腾讯支付”的理财APP。经与腾讯官方核实,这款APP并非大众熟知的“微信支付”。实际上,微信支付仅支持在微信应用内使用,并没有独立的APP。所谓的“腾讯支付”APP冒充腾讯集团名义,恶意使用腾讯名称,虚构腾讯股权…

郑州最长寿奶奶根本闲不住:我115岁,成大人了

5月28日河南新密,“我115岁,成大人了!”郑州最长寿奶奶根本闲不住,推车散步,眼神好,能爬4楼,还爱洗碗。70岁小女儿:每次回家喊一声妈,很幸福。责任编辑:zx0002

男子家暴被捕后与弟弟弟媳造假借条起诉妻子追债 三人因虚假诉讼被判刑

被丈夫殴打导致4根肋骨骨折后,刘颖报了警,并向法院起诉离婚。而丈夫的弟弟也起诉了她——要她偿还三百多万“债务”。几年下来,刘颖和丈夫的“夫妻官司”牵涉了离婚案、故意伤害案、民间借贷案。其后,刘颖的丈夫李某涛,以及他的弟弟、弟媳三人,均被湖南邵阳的一审法院以虚…

HTML 计算网页的PPI

HTML 计算网页的PPI vscode上安装live server插件&#xff0c;可以实时看网页预览 有个疑问&#xff1a; 鸿蒙density是按照类别写死的吗&#xff0c;手机520dpi 折叠屏426dpi 平板360dpi <html lang"en" data - overlayscrollbars - initialize><header&…

Axure RP11安装、激活、汉化

一:注册码 Axure RP11.0.0.4122在2025-5-29日亲测有效: 49bb9513c40444b9bcc3ce49a7a022f9

300斤巨石砸中汽车 司机幸运逃生 地质灾害点雨后落石

300斤巨石砸中汽车 司机幸运逃生 地质灾害点雨后落石!5月28日,贵州毕节市七星关区何官屯镇一条通村公路上发生落石事故。一块约300斤重的巨石砸中一辆过路汽车,导致车辆从路边高坎坠落。司机受轻伤,送医检查后当日返回家中,车损由保险公司处理。落石还击碎了附近民房的玻璃…

高校校长论文抄袭复制比高达90%?校方:属实,免职

近日,“烟台科技学院校长硕士论文涉嫌严重抄袭”一事引发社会广泛关注。5月29日,烟台科技学院就有关情况发布声明:经查核,情况属实。学校董事会研究决定,免去马红坤烟台科技学院校长职务。据媒体此前报道,马红坤2007年在南昌大学法学院获得硕士学位的论文涉嫌严重抄袭,复…

油价将调整!92号汽油或重返“7元时代” 猪价波动影响市场情绪

油价将调整!92号汽油或重返“7元时代” 猪价波动影响市场情绪!五月渐入尾声,生猪市场数据显示,月内猪价呈现波动走低的趋势。5月1日标猪报价为14.82元/公斤,2-3号稳定在14.85元/公斤,但从5月4日起,价格盘整在14.79~14.82元/公斤之间。进入中旬后,猪价降幅逐渐扩大,至5…

广东虎门通报小车坠桥致5死 事故原因正在调查中

广东虎门通报小车坠桥致5死 事故原因正在调查中。近日,广东东莞环莞快速路虎门段发生了一起交通事故,引起了广泛关注。5月19日,有网友反映其侄儿驾车经过该路段时,因四车道突然收窄为三车道导致车辆失控,从高架冲出路面坠落,造成5人伤亡。5月29日晚,广东省东莞市虎门镇发…