我有一个文件 rb.py
的结构大致是这样的。
import gym
def main():
env = gym.make('ComplexMiniGolf-v0')
问题是,如果我创建另一个文件,然后做,
from rb import main
main()
自定义环境就会被加载,一切都能正常工作 但如果相反
import gym
env = gym.make('ComplexMiniGolf-v0')
自定义环境就找不到了 即使他们加载的是完全相同的程序包
你有没有在gym中注册你的环境?
如果你自己的环境定义在下面的结构中,你可以这样做。
myenv/
__init__.py
myenv.py
myenv.py
包含你的环境的类。在 __init__.py
你把下面的代码。
from gym.envs.registration import register
register(
id='MyEnv-v0',
entry_point='myenv.myenv:MyEnv',
)
然后你就可以这样使用它。
import gym
import myenv
env = gym.make('MyEnv-v0')