问题描述
今天在执行以下代码时:
is_atari = hasattr(gym.envs, 'atari') and isinstance(env.unwrapped, gym.envs.atari.atari_env.AtariEnv)
出现了以下错误:
is_atari = hasattr(gym.envs, 'atari') and isinstance(env.unwrapped, gym.envs.atari.atari_env.AtariEnv)
AttributeError: module 'gym.envs.atari' has no attribute 'atari_env'
网上给出的解决方案[1]是:
pip install gym[atari]
pip uninstall ale-py
pip install ale-py
我目前的gym版本是0.25.2,它的作用是:

确实没报错了,但是改完之后检测不到我的atari环境了,无奈之下重新执行了:
pip install gym[atari]
恢复了之前的ale-py-0.8.1。
解决方案
后来,我去查看了我的gym库的安装地址,发现gym/atari文件夹下没有atari_env文件,倒是有一个enviroment文件,于是将我的代码改成了:
is_atari = hasattr(gym.envs, 'atari') and isinstance(env.unwrapped, gym.envs.atari.environment.AtariEnv)
问题得到了解决,撒花!

文章讲述了在执行gym代码时遇到AttributeError,由于gym.envs.atari缺少atari_env属性。作者尝试了网上的解决方案,包括更新和重装库,但导致atari环境无法检测。最后,作者发现gym库中atari_env文件缺失,改为environment.AtariEnv后问题解决。

4368

被折叠的 条评论
为什么被折叠?



