使用ale-import-roms导入atari的rom时RuntimeError问题解决办法
问题描述
安装ale-py以后,发现还需要导入ROM,参考了
ModuleNotFoundError: No module named ‘ale_python_interface‘ 解决方案
的方法折腾了一通以后,在ale-import-roms
这个命令翻车了,报错RuntimeError:
(hunter) PS E:\Download\Roms> ale-import-roms .\ROMS\
Traceback (most recent call last):File "D:\ProgramData\Miniconda3\envs\hunter\lib\runpy.py", line 193, in _run_module_as_main"__main__", mod_spec)File "D:\ProgramData\Miniconda3\envs\hunter\lib\runpy.py", line 85, in _run_codeexec(code, run_globals)File "D:\ProgramData\Miniconda3\envs\hunter\Scripts\ale-import-roms.exe\__main__.py", line 7, in <module>File "D:\ProgramData\Miniconda3\envs\hunter\lib\site-packages\ale_py\scripts\import_roms.py", line 93, in mainimport_roms(romdir, datadir, pkg=args.import_from_pkg, dry_run=args.dry_run)File "D:\ProgramData\Miniconda3\envs\hunter\lib\site-packages\ale_py\scripts\import_roms.py", line 25, in import_romsrom = ale_py.ALEInterface.isSupportedROM(path)
RuntimeError
解决方法
这个错误貌似在linux上不会出现,定位到出错位置,import_roms.py的第25行:
for path in romdir.glob("**/*.bin"):rom = ale_py.ALEInterface.isSupportedROM(path)if rom is not None:supported[rom] = pathelse:unsupported.append(path)
改为:
for path in romdir.glob("**/*.bin"):try:rom = ale_py.ALEInterface.isSupportedROM(path)if rom is not None:supported[rom] = pathelse:unsupported.append(path)except:pass
保存以后重新执行ale-import-roms .\ROMS\
:
导入了100多个
原因分析
如果在
rom = ale_py.ALEInterface.isSupportedROM(path)
的上一行增加一个临时输出
print(path)
rom = ale_py.ALEInterface.isSupportedROM(path)
保存以后执行ale-import-rom
会有这样的结果:
说明有的ROM包名字出现了法文字符,windows环境下貌似读取会出错,所以索性跳过这些文件。
使用ale-import-roms导入atari的rom时RuntimeError问题解决办法相关推荐
- Gym导入Atari游戏环境报错
由于Gym近期版本的更新,导致程序中 import Atari的游戏环境报错.Gym最新版本 0.21.0 虽然修复了一系列更新后的Bug,但是貌似只支持 Python 3.7及以上版本.于是为了能够 ...
- python导入模块的变量_python 环境变量和import模块导入方法(详解)
1.定义 模块:本质就是.py结尾的文件(逻辑上组织python代码)模块的本质就是实现一个功能 文件名就是模块名称 包: 一个有__init__.py的文件夹:用来存放模块文件 2.导入模块 for ...
- 合法的python变量名import_python 环境变量和import模块导入方法(详解)
1.定义 模块:本质就是.py结尾的文件(逻辑上组织python代码)模块的本质就是实现一个功能 文件名就是模块名称 包: 一个有__init__.py的文件夹:用来存放模块文件 2.导入模块 imp ...
- factorybean 代理类不能按照类型注入_Spring注解驱动开发之四——@Import快速导入组件、FactoryBean 定义工厂注册组件...
本文包含以下内容: @Import快速导入组件 配合ImportSelector 导入组件 配合ImportBeanDefinitionRegistrar 导入组件 FactoryBean 定义工厂注 ...
- CSS中通过import方式导入的方法
在高性能网站设计的第五章,我简要的提到@import 对于网站的性能有某些负面的影响,然后我在 Web 2.0 Expo 的演讲上深入探讨了这个问题,并创建了一些测试页面和HTTP瀑布状图表,这些在下 ...
- Python学习——import语句导入模块顺序
在编写python代码时,我们一般会在代码开头进行模块导入, 在用import语句导入模块时最好按照这样的顺序: 1.python标准库模块 2.python第三方模块 3.自定义模块 在写代码时多多 ...
- java在容器中导入图片_Java程序员必学技术:@Import直接导入类,在容器@Configuration、@Component中是怎么直接导入类注册到容器的?...
Java程序员必学技术:@Import直接导入类,在容器@Configuration.@Component中是怎么直接导入类注册到容器的? Spring IoC 容器是一个管理 Bean 的容器,在 ...
- Python-学习-import语句导入模块
简单的学习一下调用外部的模块文件. 在Python中,模块是一种组织形式,它将彼此有关系的Pyrhon 代码组织到一个个独立的文件当中,模块可以包含可执行代码,函数,和类或者是这些东西的组合. 当我们 ...
- zabbix 通过import批量导入新增主机和批量删除旧的主机
通过import批量导入新增主机 本文采用zabbix的hosts页面的import 批量导入 zabbix3.2版本批量导入模板 #!/bin/bash filename=zbx.xml echo ...
最新文章
- centos6 mysql5.7.16_centos 6.5装mysql5.7
- 浙大团队研发铜基沸石纱布口罩,1分钟杀灭新冠病毒逾99%
- 滴滴Uber合并?光大是不行的
- ubuntu18.04 更改apt源
- html5 提交from,刨根问底:HTML中form的隐式提交
- 蓝桥杯2015决赛-方格填数-枚举 or dfs
- avue中怎样隐藏新增和编辑的按钮
- Java集合类原理详解
- py程序员写代码的习惯养成 防止想到什么写什么
- 华为关于gvrp 的配置,一般步骤以及应用。
- WebRTC入门知识
- Render Monkey中可渲染纹理的Clear Color
- AlphaBlend失败,错误码87
- Pr视频剪辑出现红线
- php生成中国标准时间,中国时间标准
- 深度学习#tensorflow进阶
- 【搞笑】新闻联播熏陶下的小学生作文
- UI设计存在什么意义?
- 【转】总局公开回应质疑:TVOS不是安卓
- 如何下载通州区卫星地图高清版大图