Python 注册jupyter笔记本电脑单元中定义的健身房环境

Python 注册jupyter笔记本电脑单元中定义的健身房环境,python,jupyter-notebook,google-colaboratory,openai-gym,Python,Jupyter Notebook,Google Colaboratory,Openai Gym,我正在尝试注册一个在colab上运行的jupyter笔记本的单元格中定义的环境。我的问题与切入点有关。某些模块必须在冒号之前指定。但是我如何知道底层colab笔记本的模块名称呢?是否有一些变通方法可以将我的自定义环境包装在一个模块中,而不将代码移动到另一个文件中?我宁愿把所有的东西都放在整个笔记本里 try: gym.envs.register( id='myenv-v0', entry_point=':MyEnv', max_episode_steps=

我正在尝试注册一个在colab上运行的jupyter笔记本的单元格中定义的环境。我的问题与切入点有关。某些模块必须在冒号之前指定。但是我如何知道底层colab笔记本的模块名称呢?是否有一些变通方法可以将我的自定义环境包装在一个模块中,而不将代码移动到另一个文件中?我宁愿把所有的东西都放在整个笔记本里

try:
  gym.envs.register(
      id='myenv-v0',
      entry_point=':MyEnv',
      max_episode_steps=320
  )
except:
    pass
如果我打电话给gym.make(“myenv-v0”)


try块是由于evnrinoment id不能注册两次。可能我会再次运行所有笔记本单元。

写下这个问题后,我终于找到了正确的关键字,以便进行适当的搜索以找到解决方案

可以使用以下命令检索基础模块名:

import sys
sys.modules[__name__]
因此,入口点的模块名称为“main

import sys
sys.modules[__name__]
try:
  gym.envs.register(
      id='myenv-v0',
      entry_point='__main__:MyEnv',
      max_episode_steps=320
  )
except:
    pass