You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3.7虚拟环境下MuJoCo 2.0.2.7安装报错(Cython相关)

解决mujoco_py==2.0.2.7在WSL Ubuntu24.04下的编译报错问题

针对你遇到的Cython回调函数异常类型不兼容、需要添加noexcept声明的编译错误,这里提供两个可行的解决思路:

方法一:手动修改mujoco_py源码添加noexcept声明

  1. 先下载源码包而非直接在线安装:
    pip download mujoco_py==2.0.2.7
    
    解压下载得到的mujoco_py-2.0.2.7.tar.gz文件。
  2. 打开解压目录中的mujoco_py/cymj.pyx文件,找到以下两个函数:
    cdef void c_warning_callback(const char* msg):
        warnings.warn(msg.decode('utf-8'))
    
    cdef void c_error_callback(const char* msg):
        raise RuntimeError(msg.decode('utf-8'))
    
    在每个函数的括号末尾添加noexcept,修改后如下:
    cdef void c_warning_callback(const char* msg) noexcept:
        warnings.warn(msg.decode('utf-8'))
    
    cdef void c_error_callback(const char* msg) noexcept:
        raise RuntimeError(msg.decode('utf-8'))
    
  3. 进入解压后的目录,执行本地安装:
    pip install .
    

方法二:通过编译选项适配高版本GCC

Ubuntu24.04自带的GCC 13.x对C++异常检查更严格,你可以通过指定编译标准和关闭相关错误提示来绕过问题:

CFLAGS="-std=c++11 -Wno-error=deprecated-declarations" CXXFLAGS="-std=c++11 -Wno-error=deprecated-declarations" pip install mujoco_py==2.0.2.7

前置检查

确保已经安装了系统层面的依赖库,避免其他编译问题:

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

问题原因说明

mujoco_py==2.0.2.7是较旧的版本,没有适配GCC 13.x的严格异常处理检查规则,而你安装的其他新版本mujoco_py已经修复了这个兼容性问题,所以能正常安装。

内容的提问来源于stack exchange,提问作者omegap

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 01:37:02