如何在 IPython 中关闭 await <coroutine>?

How do I close await <coroutine> in IPython?

我正在尝试学习 asyncio。我有这个协程:
co_get_json = <coroutine object Client.get_json at 0x7fcd5dff9d40>

它有对应的非异步版本get_json

然后我在 IPython 中输入 await co_r。现在任何时候我 运行 get_json (非异步版本)我都会收到错误 RuntimeError: This event loop is already running.

如何关闭事件循环?
>>>asyncio.get_event_loop()
<_UnixSelectorEventLoop running=True closed=False debug=False>.

如果我键入 asyncio.get_event_loop().stop(),我的 IPython 内核就会死掉。我试过重新启动无济于事。

阅读 IPython docs 后,我最终通过安装 nest-asyncio 和 运行 nest_asyncio.apply() 修复了它。希望这对未来的用户有所帮助!