AttributeError: module ‘gym.envs.atari‘ has no attribute ‘atari_env‘ 解决方案

2023-05-16

问题描述

今天在执行以下代码时:

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)

问题得到了解决,撒花! 

参考链接

[1] https://github.com/openai/gym/issues/2648

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AttributeError: module ‘gym.envs.atari‘ has no attribute ‘atari_env‘ 解决方案 的相关文章

  • 如何将 Typescript 模块转换为 JavaScript

    我有一个像这样的 src 工作目录 src functions final utils I have two文件 都在 final 内 我需要将其从打字稿转换为JavaScript才能在浏览器中运行 问题是 我的最终文件正在从其他 src
  • Python3:没有 gzip 或 zlib?

    该模块现在有其他名称吗 我似乎找不到任何信息表明该模块已被弃用或完全删除 这会让我更加困惑 有谁知道这去哪儿了 Python 3 1 2 r312 79147 May 20 2010 09 09 30 GCC 4 1 2 20080704
  • 如何制作Python模块或函数并在编写其他程序时使用它?

    在很多情况下 我必须在多个程序中一遍又一遍地编写大行代码 所以我想知道是否可以只编写一个程序 保存它 然后在不同的程序 例如函数或模块 中调用它 一个基本的例子 我编写一个程序来检查一个数字是否是回文 然后我想编写一个程序来检查一个数字是否
  • Node.js 找不到模块“tcp”

    节点在以下行崩溃 var tcp require tcp 错误文本 node js 201 throw e process nextTick error or error event on first tick Error Cannot f
  • 我想要动态加载到入口点的 Webpack 捆绑模块

    下面的代码似乎使用动态导入 https webpack js org guides code splitting dynamic imports function executeApplication void const loadData
  • Python 的“导入”内部是如何工作的?

    当您导入一个模块 然后再次重新导入它时 它会被重新导入 覆盖还是跳过 当您导入模块 a 和 b 并且还在模块 a 中导入模块 b 时 会发生什么 这样做安全吗 例如 如果该模块 b 中有一个实例化的类 您最终会实例化它两次吗 import加
  • Ruby:C 类包含模块 M;在 M 中包含模块 N 不会影响 C。什么给出?

    更详细地说 我有一个模块Narf 它为一系列类提供了基本功能 具体来说 我想影响所有继承的类Enumerable So I include Narf in Enumerable Array是一个类 其中包括Enumerable默认情况下 然
  • ruby/rails:扩展或包含其他模块

    我将模块分开 以便它们更易于阅读和搜索 lib features running rb walking rb features rb 他们有 lib features running rb module Features Running e
  • 为什么模块中的公共函数不可访问

    我有一个由几个有用的小实用程序组成的程序集 其中我有一个包含简单公共功能的模块 Module FishTrackerConfigurations Public Function GetValueOfUseProductId As Boole
  • 错误:无法安全地评估递归定义模块的定义

    我很想了解为什么会发生此错误以及解决该错误的最佳方法是什么 我有几个文件types ml and types mli它定义了一个变体类型value可以是许多不同的内置 OCaml 类型 float int list map set 等 由于
  • 扩展无法启用或安装的问题

    php 7 3 5 你好 我的扩展 ext http 有问题 composer 说我缺少 ext http 即使我在composer json 中写了这个 为什么 这就是这个确切的消息 问题1 您的系统中缺少请求的 PHP 扩展 ext h
  • 区分由于找不到模块而导致的 ImportError 或 python 中模块本身的错误导入?

    我在 python 中有一些模块 它们是动态导入的 并且都具有相同的结构 plugin py models py tests py 在管理代码中 我想导入这些子模块 但例如 models py 或tests py 不是强制性的 所以我可以有
  • Theano 中的名称冲突

    我正在尝试在模块中导入 theano 但我得到了回溯 File media tarun 6A86CA8286CA4DEF develop pydy pydy codegen code py line 16 in
  • 从子模块隐式导入

    我有一个这样的包 foo init py bar py baz py 我希望在导入时自动使用子模块的功能foo So if bar py has def spam 在某个地方 我希望能够直接调用它 就像foo spam 实现这一目标的最佳方
  • 在 Angular 中使用多个模块有什么好处?

    我是 Angular Js 的熟悉者 最近我发现在一些项目中 在主模块中创建并组装了多个 Angular 模块 代码看起来像 angular module main main sub1 main sub2 main sub2 angular
  • Intellij 12 - 无法重新导入模块

    所以今天我遇到了一个奇怪的问题 我在 IntelliJ 中的一个模块遇到了一些问题 所以我决定尝试将其清除并从新的结账中重建它 我从 项目 窗口中删除了该模块 然后从我的文件系统中删除 重新下载 我回到 Intellij 并尝试导入该模块
  • Webpack 5 - 资产模块 - 缺少 url-loader 功能 - postTransformPublicPath

    我想按照建议切换到 webpack 5 asset 模块 不幸的是我错过了 webpack url loader 的函数 postTransformPublicPath path any gt any 由于我们应用程序的结构 资产的公共区域
  • 如何在 Mac 上安装 Beautiful Soup 模块?

    我读了这篇文章但没有找到解决方案 http docs python org install index html http docs python org install index html 正常 的方法是 访问美丽汤网站 http ww
  • Prism / MEF:如何在不硬编码区域名称的情况下注册ViewWithRegion

    我们正在构建一个 WPF Prism 应用程序 我们有不同的开发人员从事不同的模块项目 并且多个模块被注入到主应用程序外壳中 主应用程序也是一个单独的项目 我们还希望能够在不同的应用程序中使用这些模块 我们不希望在每个应用程序中都使用相同的
  • 导入目录下的所有模块

    有没有办法导入当前目录中的所有模块 并返回它们的列表 例如 对于包含以下内容的目录 mod py mod2 py mod3 py 它会给你

随机推荐

  • Springboot + RabbitMq 消息队列

    前言 一 RabbitMq简介 1 RabbitMq场景应用 xff0c RabbitMq特点 场景应用 以订单系统为例 xff0c 用户下单之后的业务逻辑可能包括 xff1a 生成订单 扣减库存 使用优惠券 增加积分 通知商家用户下单 发
  • freemarker 循环list 并取值

    lt if genders exists gt lt list genders as item gt lt option value 61 34 item businessNo if exists 34 gt item businessNa
  • PC端Windows 登录多个微信实现

    现在很多小伙伴都有好多微信 xff0c 但是电脑普通登录又只能等一个微信号 xff0c 怎么办呢 xff1f xff1f xff1f 别着急 我已经给大家整理好了方法 xff0c 请看下面详细步骤 xff1a 1 首先关闭并退出登录的微信
  • Java 使用注解检验手机号

    手机号校验注解类 package span class hljs keyword com span span class hljs preprocessor command span span class hljs preprocessor
  • Java8 List对象中的属性以逗号分隔转字符串

    List对象中的属性以逗号分隔转字符串 在Java 8中将集合List转变为用逗号分隔的String是非常简单的 xff0c 下面看看是如何做到 我们使用String join 函数 xff0c 给函数传递一个分隔符合一个迭代器 xff0c
  • android 获取sn序列号

    android 获取sn序列号 通过 cmd adb shell getprop 可以查看通过反射可以获取到的设备信息 通过安卓代码获取 span class token class name Class span span class t
  • fatal error LNK1181: 无法打开输入文件“kernel32.lib

    转发网址 xff1a https blog csdn net tang jin2015 article details 52879748 在VS中编译C 43 43 代码时 xff0c 报 xff1a 无法打开kernel32 lib 解决
  • ubuntu18.04 安装 ros 报错 E: Unable to locate package ros-melodic-desktop-full

    ubuntu18 04 安装 ros 报错 E Unable to locate package ros melodic desktop full 按照官网流程出现了这种问题 一般出现这种问题是系统版本和ros版本不匹配 xff0c 但是我
  • 解决pip is configured with locations that require TLS/SSL问题

    python3 7安装 xff0c 解决pip is configured with locations that require TLS SSL问题 1 安装相关依赖 yum install gcc libffi devel zlib o
  • tensorflow 如何共享网络参数

    问题描述 今天想做一个实验 xff0c 需要用到两个网络共享一套参数 初步想来 xff0c 是想利用tensorflow的变量空间和命名空间来实现的 xff0c 就像 1 和 2 中提到的那样 xff0c 后来发现涉及类初始化的关系 xff
  • STL std::sort 源码分析

    转载自http feihu me blog 2014 sgi std sort 最近在看sort源码 xff0c 看到这篇博文很好 xff0c 转发作为记录 xff0c 转载侵权联系我删除 背景 在校期间 xff0c 为了掌握这些排序算法
  • STL vector map遍历失效,顺序容器和关联容器遍历时的erase()注意事项

    1 区别 关联容器 Associative Container xff1a 通过键 key 存储和读取元素的 xff08 vector list deque stack queue heap priority queue slist xff
  • 正向,反向,闪烁流水灯

    单片机 中简单的流水灯问题 include 34 reg52 h 34 void led delay void unsigned char i j for i 61 0 i lt 200 i 43 43 for j 61 0 j lt 22
  • DS18B20温度传感源代码

    本文是对DS18b20传感器 xff0c 驱动代码的编写 include lt reg52 h gt include lt intrins h gt define uint unsigned int define uchar unsigne
  • 归并(合并)排序

    归并排序 xff0c 一种比较排序 xff0c 通过对数组中的元素进行比较得出排序结果 时间复杂度 O nlogn 空间复杂度 O n 43 O logn 排序时间与输入无关 xff0c 最佳情况 xff0c 最坏情况都是如此 稳定 原理
  • 字符串加减计算

    描述 xff1a 通过键盘输入100以内正整数的加 减运算式 xff0c 请编写一个程序输出运算结果字符串 输入字符串的格式为 xff1a 操作数1 运算符 操作数2 xff0c 操作数 与 运算符 之间以一个空格隔开 补充说明 xff1a
  • C/C++中,为什么字符串可以赋值给字符指针变量,单引号和双引号的区别

    本文是通过几篇转帖的文章整理而成的 xff1a http www slyar com blog c quotation marks html http www cnblogs com KingOfFreedom archive 2012 1
  • 操作符优先级全列表,一览表

    在一个表达式中可能包含多个有不同运算符连接起来的 具有不同数据类型的数据对象 xff1b 由于表达式有多种运算 xff0c 不同的运算顺序可能得出不同结果甚至出现错误运算错误 xff0c 因为当表达式中含多种运算时 xff0c 必须按一定顺
  • 枚举类的赋值和基本操作

    枚举类型的定义 枚举类型 enumeration 是C 43 43 中的一种派生数据类型 xff0c 它是由用户定义的若干枚举常量的集合 定义格式 xff1a 枚举类型的定义格式为 xff1a enum lt 类型名 gt lt 枚举常量表
  • AttributeError: module ‘gym.envs.atari‘ has no attribute ‘atari_env‘ 解决方案

    问题描述 今天在执行以下代码时 xff1a is atari 61 hasattr gym envs 39 atari 39 and isinstance env unwrapped gym envs atari atari env Ata