You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu 16.04下mujoco_py提示LD_LIBRARY_PATH路径缺失求助

解决mujoco_py导入时LD_LIBRARY_PATH已设置但仍报错的问题

我之前也碰到过一模一样的情况——明明已经把路径加到bashrc里,终端能查到LD_LIBRARY_PATH的正确值,mujoco自带的simulate也能正常运行,但一导入mujoco_py就报错。这大概率是Python进程没正确继承shell环境变量,或是版本兼容性问题,给你几个亲测有效的解决办法:

方法1:在Python脚本里强制设置环境变量

有时候bashrc里的配置不会自动传到Python进程中,你可以直接在代码开头手动指定路径:

import os
# 把mujoco的bin目录加到环境变量里
os.environ['LD_LIBRARY_PATH'] = '/home/jonah/.mujoco/mjpro150/bin:' + os.environ.get('LD_LIBRARY_PATH', '')
import mujoco_py

这样能确保Python进程启动时就拿到正确的路径,再导入mujoco_py试试。

方法2:运行Python前手动加载环境变量

如果不想修改代码,可以在终端先执行导出命令,再启动Python:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/jonah/.mujoco/mjpro150/bin
python your_script.py

嫌麻烦的话可以把这两行写成一个shell脚本,直接运行脚本启动程序。

方法3:匹配mujoco和mujoco_py的版本

mjpro150对应的mujoco_py版本必须是1.50.x系列,如果你装的是2.0以上的mujoco_py,肯定会出现不兼容问题。先卸载当前版本,指定安装对应版本:

pip uninstall mujoco_py
pip install mujoco_py==1.50.1.68

1.50.x的任意子版本都可以,选一个相对稳定的就行。

方法4:重新编译mujoco_py

有时候安装过程中编译不完整也会导致这种奇怪的报错,你可以删除缓存后重新安装:

pip uninstall mujoco_py
rm -rf ~/.cache/mujoco_py
pip install mujoco_py==1.50.1.68 --no-cache-dir

编译时如果提示缺少依赖(比如gcc、libgl1-mesa-dev这类),按照提示安装即可。

既然你能正常运行./simulate,说明mujoco本身是没问题的,问题就出在mujoco_py和环境变量的衔接上。如果以上方法都没用,那确实有可能是特定版本的bug,可以试试切换到mujoco_py 1.50.1.60这个版本,我之前碰到类似bug时换这个版本就解决了。

内容的提问来源于stack exchange,提问作者J. Siek

火山引擎 最新活动