如何在 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()
修复了它。希望这对未来的用户有所帮助!
我正在尝试学习 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()
修复了它。希望这对未来的用户有所帮助!