-
Notifications
You must be signed in to change notification settings - Fork 8.7k
Description
Having trouble with gym.make().render()
I'm running Windows 10. This issue did not exist when I was working on python 3.6.3, but now that I downgraded to 3.5.2 for MuJoCo, this code (taken from another comment):
import gym
import random
import numpy as np
import tflearn
from tflearn.layers.core import input_data, dropout, fully_connected
from tflearn.layers.estimator import regression
from statistics import median, mean
from collections import Counter
LR = 1e-3
env = gym.make("CartPole-v0")
env.reset()
goal_steps = 500
score_requirement = 50
initial_games = 10000
def some_random_games_first():
for episode in range(20):
env.reset()
for t in range(200):
env.render() # if I comment out this line, everything runs fine
action = env.action_space.sample()
observation, reward, done, info = env.step(action)
if done:
break
some_random_games_first()
Produces this error:
Traceback (most recent call last):
File "C:\Users\LF\Documents\OpenAI Gym\CartPole\test.py", line 39, in
some_random_games_first()
File "C:\Users\LF\Documents\OpenAI Gym\CartPole\test.py", line 26, in some_random_games_first
env.render()
File "C:\Users\LF\Python35\lib\site-packages\gym\core.py", line 150, in render
return self._render(mode=mode, close=close)
File "C:\Users\LF\Python35\lib\site-packages\gym\core.py", line 286, in _render
return self.env.render(mode, close)
File "C:\Users\LF\Python35\lib\site-packages\gym\core.py", line 150, in render
return self._render(mode=mode, close=close)
File "C:\Users\LF\Python35\lib\site-packages\gym\envs\classic_control\cartpole.py", line 116, in render
self.viewer = rendering.Viewer(screen_width, screen_height)
File "C:\Users\LF\Python35\lib\site-packages\gym\envs\classic_control\rendering.py", line 51, in init
self.window = pyglet.window.Window(width=width, height=height, display=display)
File "C:\Users\LF\Python35\lib\site-packages\pyglet\window_init.py", line 504, in init
screen = display.get_default_screen()
File "C:\Users\LF\Python35\lib\site-packages\pyglet\canvas\base.py", line 73, in get_default_screen
return self.get_screens()[0]
File "C:\Users\LF\Python35\lib\site-packages\pyglet\canvas\base.py", line 65, in get_screens
raise NotImplementedError('abstract')
NotImplementedError: abstract
Also, pyglet is up to date (1.3.0)
I apologize if a solution can be found elsewhere, but I have not found another issue like this on gym.