安装gym的atari支持:
pip install gym[atari]
为gym下的atari环境下载游戏镜像ROMs文件:
需要注意的是由于gym的版本更新现在的gym依赖的atari库已经不叫做atari-py了,而是叫做ale-py。因此当你手动从https://gitee.com/devilmaycry812839668/atari_roms下载到游戏环境的bin文件后需要进入python的site-packages路径下,去看下里面是安装的ale-py还是atari-py,然后把下载的bin文件存入对应的ale_py/roms路径下,当然也可能是atari_py/roms路径下。
如:
安装好这些后运行简单的gym的代码,看下环境是否安装成功:
import gym
env=gym.make("Pong-v0")
print(env)
env.reset()
一般情况下都是可以正常运行的,不过在一些版本的gym中则会报错,如下:
ale_interface/ale_c.dll OSError
出现这个问题说明gym[atari]安装的时候ale_c.dll链接库是有问题的,有几种解决方法:
1. 安装VC编译环境,然后再重新安装gym[atari],这样就能在源码基础上重新在windows环境下编译ale_c.dll链接库,不过该种方式比较复杂不建议,具体可以参考:
https://zhuanlan.zhihu.com/p/492822039
2. 安装其他版本已经编译好的可以运行的ale_c.dll来替换本机上报错的ale_c.dll,具体方法参考:(身边的人绝大部分都是采用这种方法,优点是简单,缺点就是不知道gym以后版本升级后是否可以正常运行)
https://dude6.com/q/a/6837450.html
3. 先卸载掉atari_py,然后再安装指定来源的atari_py,这种特定原地址的atari_py中的ale_c.dll一般都是可以正常运行的:
https://www.it610.com/article/1293929311555887104.htm
4. 如果你的python是conda环境下的,你还可以使用conda官方给出的可以正常运行的atari_py库:
参看:https://github.com/openai/gym/issues/1726
conda install -c conda-forge atari_py
5. 安装指定版本的gym[atari],安装可以正常运行的版本:
pip install gym==0.19.0
pip install atari_py==0.2.6
不过此时安装gym的最新版本,也就是gym==0.24.0的方法可能与上面的有所不同,具体见:
windows系统下安装最新版gym的安装方法(此时最新版的gym为0.24.0,gym==0.24.0)
标签:ale,gym,py,dll,OSError,报错,atari,安装 From: https://blog.51cto.com/u_15642578/5745970