mirror of
https://github.com/Farama-Foundation/Gymnasium.git
synced 2025-08-18 04:49:12 +00:00
Fix importlib-metadata on Python 3.8 + bump ale-py (#2428)
* Bump ale-py -> 0.7.1 * env-plugins: parse module,attr for Python 3.8
This commit is contained in:
committed by
GitHub
parent
8cc7f975dd
commit
ca42b05243
@@ -248,18 +248,28 @@ def namespace(ns):
|
|||||||
def load_env_plugins(entry_point="gym.envs"):
|
def load_env_plugins(entry_point="gym.envs"):
|
||||||
# Load third-party environments
|
# Load third-party environments
|
||||||
for plugin in metadata.entry_points().get(entry_point, []):
|
for plugin in metadata.entry_points().get(entry_point, []):
|
||||||
if plugin.attr is None:
|
# Python 3.8 doesn't support plugin.module, plugin.attr
|
||||||
|
# So we'll have to try and parse this ourselves
|
||||||
|
try:
|
||||||
|
module, attr = plugin.module, plugin.attr
|
||||||
|
except AttributeError:
|
||||||
|
if ":" in plugin.value:
|
||||||
|
module, attr = plugin.value.split(":", maxsplit=1)
|
||||||
|
else:
|
||||||
|
module, attr = plugin.value, None
|
||||||
|
finally:
|
||||||
|
if attr is None:
|
||||||
raise error.Error(
|
raise error.Error(
|
||||||
f"Gym environment plugin `{plugin.module}` must specify a function to execute, not a root module"
|
f"Gym environment plugin `{module}` must specify a function to execute, not a root module"
|
||||||
)
|
)
|
||||||
|
|
||||||
context = namespace(plugin.name)
|
context = namespace(plugin.name)
|
||||||
if plugin.name == "__internal__":
|
if plugin.name == "__internal__":
|
||||||
if plugin.module in plugin_internal_whitelist:
|
if module in plugin_internal_whitelist:
|
||||||
context = contextlib.nullcontext()
|
context = contextlib.nullcontext()
|
||||||
else:
|
else:
|
||||||
logger.warn(
|
logger.warn(
|
||||||
f"Trying to register an internal environment when `{plugin.module}` is not in the whitelist"
|
f"Trying to register an internal environment when `{module}` is not in the whitelist"
|
||||||
)
|
)
|
||||||
|
|
||||||
with context:
|
with context:
|
||||||
|
2
setup.py
2
setup.py
@@ -10,7 +10,7 @@ from version import VERSION
|
|||||||
|
|
||||||
# Environment-specific dependencies.
|
# Environment-specific dependencies.
|
||||||
extras = {
|
extras = {
|
||||||
"atari": ["ale-py~=0.7"],
|
"atari": ["ale-py~=0.7.1"],
|
||||||
"accept-rom-license": ["autorom[accept-rom-license]~=0.4.2"],
|
"accept-rom-license": ["autorom[accept-rom-license]~=0.4.2"],
|
||||||
"box2d": ["box2d-py==2.3.5", "pyglet>=1.4.0"],
|
"box2d": ["box2d-py==2.3.5", "pyglet>=1.4.0"],
|
||||||
"classic_control": ["pyglet>=1.4.0"],
|
"classic_control": ["pyglet>=1.4.0"],
|
||||||
|
Reference in New Issue
Block a user