自己创建gym环境后,运行测试环境,代码报错:
gymnasium.error.NameNotFound: Environment simplest_gym doesn't exist.
如图1所示。
图1 gym环境创建,系统提示NameNotFound
解决方法:
1. 注意Python Namespace的机制,确保使用了正确的Namespace,详见本人前面的文章;
2. 在命名空间下envs下,__init__.py文件中,要使用正确的注册,首先应该从NameSpace导入环境文件,其次在注册时,注意id和entry_point,id中包含Namespace的路径,版本号,如图2所示。
图2 命名空间下的__init__.py文件中,要使用正确的注册函数(register)
3. 在环境生成的时候,即gym.make的时候,填写环境名称时,要与自己register的ID一致。
图3 错误的make函数
图4 正确的运行代码,注意,首先要import env.SimplestGymEnv, 是为了执行环境中的__init__.py文件,即进行register;其次,gym.make()函数的参数要与register的参数一致,此处为 env = gym.make("envs/simplest_gym-v0")