Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Register OpenAI Gym malformed environment failure

On a Linux PC, I am attempting to create a custom open AI Gym environment. I can get through all of the steps from a blog write up from medium.com including the pip install -e . but I get an error with the final product making the environment env = gym.make('BASoperator-v1.0')

The medium blog states this file directory is needed, my naming convention is this:

vavBox/
  README.md
  setup.py
  vavBox/
    __init__.py
    envs/
      __init__.py
      vavBox.py

This is my setup.py:

from setuptools import setup

setup(name='vavBox',
      version='0.0.1',
      install_requires=['gym']
)  

First init.py:

from gym.envs.registration import register

register(
    id='vavBox',
    entry_point='vavBox.envs:vavBox',
)

2nd init.py in the env folder:

from vavBox.envs.vavBox import vavBox

The pip install went fine. I can see that pip installed the 3rd party package. But, when I attempt to import the environment thru this script below:

import numpy as np
import pandas as pd
import time
import gym
import vavBox


env = gym.make('vavBox')

I get an error, gym.error.Error: Attempted to register malformed environment ID: vavBox. (Currently all IDs must be of the form ^(?:[\w:-]+\/)?([\w:.-]+)-v(\d+)$.)

like image 205
bbartling Avatar asked Dec 03 '18 21:12

bbartling


1 Answers

In vavBox/init.py the id should read:

from gym.envs.registration import register

register(
    id='vavBox-v0',
    entry_point='vavBox.envs:vavBox', )

or something with a "-v[0-9]+" after it to match the regex

like image 173
brubsby Avatar answered Sep 26 '22 14:09

brubsby