windows系统下安装gym运行atari游戏报错:ale_interface/ale_c.dll OSError
安装gym的atari支持:
pip install gym[atari]
为gym下的atari环境下载游戏镜像ROMs文件:
https://www.cnblogs.com/devilmaycry812839668/p/14857623.html
需要注意的是由于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://blog.csdn.net/qq_27297393/article/details/105349229
https://zhuanlan.zhihu.com/p/492822039
2. 安装其他版本已经编译好的可以运行的ale_c.dll来替换本机上报错的ale_c.dll,具体方法参考:(身边的人绝大部分都是采用这种方法,优点是简单,缺点就是不知道gym以后版本升级后是否可以正常运行)
https://dude6.com/q/a/6837450.html
https://www.csdn.net/tags/NtDaIg1sMDY4NTEtYmxvZwO0O0OO0O0O.html
https://download.csdn.net/download/weixin_42454034/13698182
3. 先卸载掉atari_py,然后再安装指定来源的atari_py,这种特定原地址的atari_py中的ale_c.dll一般都是可以正常运行的:
https://blog.csdn.net/luolia233/article/details/82995328?ref=myread
https://blog.csdn.net/weixin_43590796/article/details/111659961
https://www.csdn.net/tags/NtDaYg0sNzY3Ni1ibG9n.html
https://blog.csdn.net/weixin_43590796/article/details/111659961
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
https://blog.csdn.net/qq_34666857/article/details/124027874
======================================================
不过此时安装gym的最新版本,也就是gym==0.24.0的方法可能与上面的有所不同,具体见:
windows系统下安装最新版gym的安装方法(此时最新版的gym为0.24.0,gym==0.24.0)
======================================================
windows系统下安装gym运行atari游戏报错:ale_interface/ale_c.dll OSError的更多相关文章
- 为什么在linux系统下安装anaconda的时候会报错
报错界面 一开始是在官网下载的最新的包,出现了上述的报错,但是换成清华镜像之后,就没有上述报错了? 我猜测可能是因为 官网最新的版本的anaconda和你安装的python版本不兼容,而在镜像上的不是 ...
- Windows系统下安装MySQL 8.0.11数据库
MySQL数据库是常用的数据库之一,而且该数据库开源免费,所以很多公司在使用.本文记录如何在Windows系统下安装MySQL数据库,本次安装的版本号为8.0.11,这个版本是当前的最新版本,据宣传, ...
- tomact在windows系统下安装
一.下载 下载地址: https://tomcat.apache.org/download-90.cgi 7,8,9的版本都可以下,这里下载最新版本 注意:Binary是编译好的,可以直接使用的版本, ...
- JDK8在windows系统下安装
一.下载 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK8 目前大部分公司内部使用的还是jdk ...
- Windows系统下安装zabbix客户端
简单介绍如何在windows系统下安装zabbix客户端 1. 首先下载和zabbix服务端大版本相同的windows客户端 例如我服务端安装的是zabbix-3.4.14.tar.gz ...
- nssm常用命令(在Windows系统下安装服务的工具)
nssm install servername //创建servername服务 nssm start servername //启动服务 nssm stop servername //暂停服务 ns ...
- Windows 10 上安装 3D Studio Max 2016 报错的解决办法
在 Windows 10 上安装 3D Stuido Max 2016 报错,无法正常安装,查看日志是 VC 运行时安装错误,经过分析发现在 Windows 10 上已经有这些运行时并且版本比安装包中 ...
- windows系统下安装MySQL
可以运行在本地windows版本的MySQL数据库程 序自从3.21版以后已经可以从MySQL AB公司获得,而且 MYSQL每日的下载百分比非常大.这部分描述在windows上安装MySQL的过程. ...
- Tomcat Windows 系统下安装及注意事项
1 获取Tomcat 安装包 http://tomcat.apache.org/ tar.gz 文件是Linux系统下的安装版本 exe文件是 Windows系统下的安装版本 zip 文件是Wind ...
- 无光驱在32位windows系统下安装64位windows系统
位的系统. 大家都知道,32位的操作系统最多只能支持3.2G的内存,现在内存白菜价,很多人都在原有基础上购入新内存,这样最少也有4G了,为了让内存不浪费,我 们只有升级到64位操作系统.但是很多朋友又 ...
随机推荐
- AlertManager解析:构建高效告警系统
本文深入探讨了AlertManager的技术细节和实际应用,从基本概念.核心组件.工作流程,到与Prometheus的集成和实战案例,旨在为专业人士提供一个全面的AlertManager技术和应用指南 ...
- Android无障碍自动化结合opencv实现支付宝能量自动收集
Android无障碍服务可以操作元素,手势模拟,实现基本的控制.opencv可以进行图像识别.两者结合在一起即可实现支付宝能量自动收集.opencv用于识别能量,无障碍服务用于模拟手势,即点击能量. ...
- Mysql 使用(二)
1 启动: 2 net start mysql 3 4 进入: 5 mysql -uroot -pmysql 6 7 显示数据库: 8 show databases; 9 10 使用数据库: 11 u ...
- 『vulnhub系列』EVILBOX-ONE
『vulnhub系列』EVILBOX-ONE 下载地址: https://www.vulnhub.com/entry/evilbox-one,736/ 信息搜集: 使用nmap探测内网存活主机,发现开 ...
- 【Autoware】Autoware安装教程
此篇主要是从自己的csdn copy 在博客园上备份一下哈~ 前提:大家需要换源[软件源和pip源]:git clone的时候走博主给的Gitee的链接吧 不然得等个十万年... 如果想看最终是啥样的 ...
- OPC 详解 第一篇 基础概念
一 .概述 OPC 的全称是OPC(OLE for Process Control), 用于过程控制的OLE,OLE(Object Linking and Embedding)大家都知道是对象连接与嵌 ...
- Vue3 整理
前言 vue2基础篇链接:https://www.cnblogs.com/xiegongzi/p/15782921.html vue2组件化开发篇链接:https://www.cnblogs.com/ ...
- linux scp自动填充密码脚本
在linux上使用scp命令传输文件时,每传输一次,都要填写目标服务器的登录密码,十分麻烦. 配置系统密钥又比较复杂,于是想到的使用expect写一个自动填充密码的脚本,脚本内容如下: scp.sh ...
- Java socket 获取gps定位
1.Java socket 获取gps定位的方法 在Java中使用Socket来直接获取GPS定位信息并不直接可行,因为GPS数据通常不是通过Socket通信来获取的.GPS数据通常由设备(如智能手机 ...
- Java Redis多限流
Java Redis多限流 在Java中实现Redis多限流通常涉及使用Redis的某些特性,如INCR.EXPIRE.Lua脚本或者更高级的Redis数据结构如Redis Bitmaps.Redis ...