我正在尝试让下面的代码工作。
import gym
env = gym.make("CartPole-v0")
env.reset()
env.render()
运行前3行没有问题,但是当我运行第4行时,我收到错误:
Traceback (most recent call last):
File "<ipython-input-3-a692a1a1ffe7>", line 1, in <module>
env.render()
File "/home/mikedoho/gym/gym/core.py", line 150, in render
return self._render(mode=mode, close=close)
File "/home/mikedoho/gym/gym/core.py", line 286, in _render
return self.env.render(mode, close)
File "/home/mikedoho/gym/gym/core.py", line 150, in render
return self._render(mode=mode, close=close)
File "/home/mikedoho/gym/gym/envs/classic_control/cartpole.py", line 116, in _render
self.viewer = rendering.Viewer(screen_width, screen_height)
File "/home/mikedoho/gym/gym/envs/classic_control/rendering.py", line 51, in __init__
self.window = pyglet.window.Window(width=width, height=height, display=display)
File "/home/mikedoho/anaconda3/lib/python3.6/site-packages/pyglet/window/__init__.py", line 504, in __init__
screen = display.get_default_screen()
File "/home/mikedoho/anaconda3/lib/python3.6/site-packages/pyglet/canvas/base.py", line 73, in get_default_screen
return self.get_screens()[0]
File "/home/mikedoho/anaconda3/lib/python3.6/site-packages/pyglet/canvas/base.py", line 65, in get_screens
raise NotImplementedError('abstract')
NotImplementedError: abstract
我希望在一个杆子上放一个推车,以便在新窗口中显示。
此错误来自Spyder中的代码。我使用的是ubuntu 16.04; python 3.6.3; IPython 6.1.0。我没有运气使用jupyter笔记本。
我再次道歉。我今天刚刚下载的ubuntu非常新。
答案 0 :(得分:13)
我刚刚解决了这个问题(错误?),就像10分钟前一样:D
你必须将pyglet 3降级为pyglet 1.2.4。
只需在anaconda提示符下输入if(Stream.of(stringA, stringB,stringC, stringD)
.anyMatch(field -> field == null || field.trim().isEmpty()))
即可。之后你可能需要重启你的spyder ide。
我会在您的代码中添加pip install pyglet==1.2.4
,否则您将无法关闭窗口。
如果您是python / ML / DL的新手,请查看youtube上的“sentdex”。非常好的内容开始。 (他在他的健身教程中使用TFlearn)但是由于tensorflow 1.4包含了Keras,我建议使用keras high lvl API作为你的神经网络。
祝你好运并保持深刻如果有人拥有好的健身房文档,请随时分享。