导入minerl库时出现AttributeError: can't set attribute错误原因是什么?
错误原因
- 核心原因是gym版本与minerl库版本不兼容:minerl v0.4.x及更早版本适配的是gym 0.19.0及以下版本,而gym从0.20.0版本开始将
Space类的shape属性改为了只读属性,minerl内部代码仍存在直接给self.shape赋值的逻辑,运行时就会触发该AttributeError。 - 次要兼容问题:你使用的Python 3.9版本未被minerl官方稳定版适配,minerl官方目前稳定支持的Python版本最高为3.8,高版本Python也可能引发底层绑定的属性异常。
解决方案
- 先卸载当前环境中过高版本的gym:
pip uninstall gym -y
- 安装minerl适配的gym版本:
pip install gym==0.19.0
- 如果调整gym版本后仍报错,建议创建Python 3.8的虚拟环境重新安装minerl和对应版本的gym,可完全规避版本兼容问题。
内容的提问来源于stack exchange,提问作者andreishark
相关产品推荐
相关产品推荐

