这是我第一次使用机器学习库,我曾经自己做过,当我做的时候就做过,但是我猜想,当每个人都告诉你不要自己做这项工作并让这些库为你做的时候,你最终尝试了,我在python上尝试了OpenAI的“健身房”,我的代码非常简单(我在youtube视频中找到了该视频,该视频解释了如何使用该库,因为我不知道自己要怎么做)
import gym
env = gym.make("MountainCar-v0")
env.reset()
done = False
while not done:
action = 2
newState, reward, done, _ = env.step(action)
env.render()
env.close()
此代码返回此错误:
追溯(最近一次通话):
在getattr中的文件“ C:\ Users \ user \ PycharmProjects \ TestOnGymLibrary \ venv \ lib \ site-packages \ pyglet__init __。py”,行378
返回getattr(self._module,name)
AttributeError:“ NoneType”对象没有属性“ get_default”
在处理上述异常期间,发生了另一个异常:
追溯(最近一次通话):
文件“ C:/用户/用户/ PycharmProjects / TestOnGymLibrary / me / RoeeHerzovich / TestOnGymLibrary
/Core.py”,第11行
env.render()
渲染中的文件“ C:\ Users \ user \ PycharmProjects \ TestOnGymLibrary \ venv \ lib \ site-packages \ gym \ core.py”,第235行
返回self.env.render(mode,** kwargs)
文件“ C:\ Users \ user \ PycharmProjects \ TestOnGymLibrary \ venv \ lib \ site-packages \ gym \ envs \ classic_control \ mountain_car.py”,渲染中
从gym.envs.classic_control导入渲染
文件“ C:\ Users \ user \ PycharmProjects \ TestOnGymLibrary \ venv \ lib \ site-packages \ gym \ envs \ classic_control \ rendering.py”,第27行,在
从pyglet.gl导入*
第239行中的文件“ C:\ Users \ user \ PycharmProjects \ TestOnGymLibrary \ venv \ lib \ site-packages \ pyglet \ gl__init __。py”
导入pyglet.window
1896行中的文件“ C:\ Users \ user \ PycharmProjects \ TestOnGymLibrary \ venv \ lib \ site-packages \ pyglet \ window__init __。py”
gl._create_shadow_window()
文件“ C:\ Users \ user \ PycharmProjects \ TestOnGymLibrary \ venv \ lib \ site-packages \ pyglet \ gl__init __。py”,行208,在_create_shadow_window中
_shadow_window =窗口(宽度= 1,高度= 1,可见=假)
初始化文件“ C:\ Users \ user \ PycharmProjects \ TestOnGymLibrary \ venv \ lib \ site-packages \ pyglet \ window \ win32__init __。py”,第134行
超级(Win32Window,self).init(* args,** kwargs)
初始化文件“ C:\ Users \ user \ PycharmProjects \ TestOnGymLibrary \ venv \ lib \ site-packages \ pyglet \ window__init __。py”,第501行
display = get_platform()。get_default_display()
在get_default_display中的第1845行,文件“ C:\ Users \ user \ PycharmProjects \ TestOnGymLibrary \ venv \ lib \ site-packages \ pyglet \ window__init __。py”
返回pyglet.canvas.get_display()
在get_display中的文件“ C:\ Users \ user \ PycharmProjects \ TestOnGymLibrary \ venv \ lib \ site-packages \ pyglet \ canvas__init __。py”,第77行
从pyglet.app导入显示
在第175行的文件“ C:\ Users \ user \ PycharmProjects \ TestOnGymLibrary \ venv \ lib \ site-packages \ pyglet \ app__init __。py”中
event_loop = EventLoop()
初始化文件“ C:\ Users \ user \ PycharmProjects \ TestOnGymLibrary \ venv \ lib \ site-packages \ pyglet \ app \ base.py”,第119行
self.clock = clock.get_default()
getattr中的文件“ C:\ Users \ user \ PycharmProjects \ TestOnGymLibrary \ venv \ lib \ site-packages \ pyglet__init __。py”,行384
导入(import_name)
第166行的文件“ C:\ Users \ user \ PycharmProjects \ TestOnGymLibrary \ venv \ lib \ site-packages \ pyglet \ clock.py”
_default_time_function = time.clock
AttributeError:模块“时间”没有属性“时钟”
我曾尝试在这个地方寻找,但是我还没有看到……
我安装了Gym,matplotlib和pyglet,我检查了它们,甚至尝试升级它们,并说它已经升级,所以我不知道发生了什么。有人可以帮我吗?
我感谢您的所有评论:)
最佳答案
真正的错误来自于您发布的跟踪的底部:_default_time_function = time.clock AttributeError: module 'time' has no attribute 'clock'
here已解决此错误。
选项:
找到在哪里调用time.clock(),并将其更改为time.perf_counter()
降级至3.7
关于python - OpenAI“gym”库在env.render()上引发NoneType错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59742262/