Skip to content

NotImplementedError: abstract #775

@Ljferrer

Description

@Ljferrer

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions