From 5af5b7958a178b4d44119db53ee5e8eca11b2e19 Mon Sep 17 00:00:00 2001 From: John Schulman Date: Mon, 18 Sep 2017 11:25:12 -0700 Subject: [PATCH] allow registering a callable --- gym/envs/registration.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gym/envs/registration.py b/gym/envs/registration.py index 4fcfb66fccf..29dd3eb6224 100644 --- a/gym/envs/registration.py +++ b/gym/envs/registration.py @@ -82,8 +82,11 @@ def make(self): if self._entry_point is None: raise error.Error('Attempting to make deprecated env {}. (HINT: is there a newer registered version of this env?)'.format(self.id)) - cls = load(self._entry_point) - env = cls(**self._kwargs) + elif callable(self._entry_point): + env = self._entry_point() + else: + cls = load(self._entry_point) + env = cls(**self._kwargs) # Make the enviroment aware of which spec it came from. env.unwrapped._spec = self