Reputation: 921
I am trying to run gym in headless server and render the same in jupyter. Python version 2.7.
I have started the jupyter using xvfb-run -a -s "-screen 0 1400x900x24" jupyter notebook
Below is the Jupyte cell that I run.
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()
But the error I get is as below :
AttributeError: 'ImageData' object has no attribute 'data'
I have searched a lot in forums but could not find a solution. Thanks in advance to help me fix this error and make me to render gym in jupyter notebook.
Upvotes: 4
Views: 5752
Reputation: 968
For what it's worth, like @patapouf_ai I upgraded from gym 0.9.6 to gym 0.19.0 and this solved the problem. It seems the root issue is that mode=rgb_mode returned error when passed into env.render.
Upvotes: 0
Reputation: 18693
I have python 3.7
and for my upgrading to gym 0.18.2
solved the problem (with pyglet 1.5.5
)
Upvotes: 0
Reputation: 1680
I encountered the same issue. Installing pyglet-v1.3.2
instead of v1.4.1
solved the issue for me.
Upvotes: 6