我试图在无头服务器中运行Gym,并在jupyter中进行渲染。 Python 2.7版。
我已使用xvfb-run -a -s "-screen 0 1400x900x24" jupyter notebook
下面是我运行的Jupyte单元格。
import matplotlib.pyplot as plt
import gym
from IPython import display
%matplotlib inline
env = gym.make('CartPole-v0')
env.reset()
plt.imshow(env.render(mode='rgb_array'))
display.display(plt.gcf())
display.clear_output(wait=True)
env.step(env.action_space.sample()) # take a random action
env.close()
但是我得到的错误如下:
AttributeError: 'ImageData' object has no attribute 'data'
我在论坛上进行了很多搜索,但找不到解决方案。在此先感谢您帮助我解决此错误,并使我能够在jupyter笔记本中渲染健身。
答案 0 :(得分:3)
我遇到了同样的问题。安装pyglet-v1.3.2
代替v1.4.1
可以为我解决问题。
答案 1 :(得分:0)
我有 python 3.7
并且我升级到 gym 0.18.2
解决了问题(使用 pyglet 1.5.5
)