问题描述

安装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问题解决办法相关推荐

  1. Gym导入Atari游戏环境报错

    由于Gym近期版本的更新,导致程序中 import Atari的游戏环境报错.Gym最新版本 0.21.0 虽然修复了一系列更新后的Bug,但是貌似只支持 Python 3.7及以上版本.于是为了能够 ...

  2. python导入模块的变量_python 环境变量和import模块导入方法(详解)

    1.定义 模块:本质就是.py结尾的文件(逻辑上组织python代码)模块的本质就是实现一个功能 文件名就是模块名称 包: 一个有__init__.py的文件夹:用来存放模块文件 2.导入模块 for ...

  3. 合法的python变量名import_python 环境变量和import模块导入方法(详解)

    1.定义 模块:本质就是.py结尾的文件(逻辑上组织python代码)模块的本质就是实现一个功能 文件名就是模块名称 包: 一个有__init__.py的文件夹:用来存放模块文件 2.导入模块 imp ...

  4. factorybean 代理类不能按照类型注入_Spring注解驱动开发之四——@Import快速导入组件、FactoryBean 定义工厂注册组件...

    本文包含以下内容: @Import快速导入组件 配合ImportSelector 导入组件 配合ImportBeanDefinitionRegistrar 导入组件 FactoryBean 定义工厂注 ...

  5. CSS中通过import方式导入的方法

    在高性能网站设计的第五章,我简要的提到@import 对于网站的性能有某些负面的影响,然后我在 Web 2.0 Expo 的演讲上深入探讨了这个问题,并创建了一些测试页面和HTTP瀑布状图表,这些在下 ...

  6. Python学习——import语句导入模块顺序

    在编写python代码时,我们一般会在代码开头进行模块导入, 在用import语句导入模块时最好按照这样的顺序: 1.python标准库模块 2.python第三方模块 3.自定义模块 在写代码时多多 ...

  7. java在容器中导入图片_Java程序员必学技术:@Import直接导入类,在容器@Configuration、@Component中是怎么直接导入类注册到容器的?...

    Java程序员必学技术:@Import直接导入类,在容器@Configuration.@Component中是怎么直接导入类注册到容器的? Spring IoC 容器是一个管理 Bean 的容器,在 ...

  8. Python-学习-import语句导入模块

    简单的学习一下调用外部的模块文件. 在Python中,模块是一种组织形式,它将彼此有关系的Pyrhon 代码组织到一个个独立的文件当中,模块可以包含可执行代码,函数,和类或者是这些东西的组合. 当我们 ...

  9. zabbix 通过import批量导入新增主机和批量删除旧的主机

    通过import批量导入新增主机 本文采用zabbix的hosts页面的import 批量导入 zabbix3.2版本批量导入模板 #!/bin/bash filename=zbx.xml echo ...

最新文章

  1. centos6 mysql5.7.16_centos 6.5装mysql5.7
  2. 浙大团队研发铜基沸石纱布口罩,1分钟杀灭新冠病毒逾99%
  3. 滴滴Uber合并?光大是不行的
  4. ubuntu18.04 更改apt源
  5. html5 提交from,刨根问底:HTML中form的隐式提交
  6. 蓝桥杯2015决赛-方格填数-枚举 or dfs
  7. avue中怎样隐藏新增和编辑的按钮
  8. Java集合类原理详解
  9. py程序员写代码的习惯养成 防止想到什么写什么
  10. 华为关于gvrp 的配置,一般步骤以及应用。
  11. WebRTC入门知识
  12. Render Monkey中可渲染纹理的Clear Color
  13. AlphaBlend失败,错误码87
  14. Pr视频剪辑出现红线
  15. php生成中国标准时间,中国时间标准
  16. 深度学习#tensorflow进阶
  17. 【搞笑】新闻联播熏陶下的小学生作文
  18. UI设计存在什么意义?
  19. 【转】总局公开回应质疑:TVOS不是安卓
  20. 如何下载通州区卫星地图高清版大图

热门文章

  1. Android中的Gradle之配置及构建优化
  2. word怎么删除空白页
  3. POI - Excel 打印配置
  4. Springboot整支付宝网站支付、APP支付、单笔转账给用户、退款功能
  5. 分布式IO模块在工厂中的应用
  6. LeetCode-1225. 报告系统状态的连续日期(困难)
  7. 性能优化系列(五)网络性能优化
  8. 华为HarmonyOS系统搭载了POKERTIME129263和AOMAHA的汉印智能打印新升级
  9. 【Ubuntu】安装企业微信(Wine)
  10. (转载)计算机视觉当中的专业英语