Python 成功解决报错 asyncio RuntimeError: This event loop is already running

Posted 叶庭云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 成功解决报错 asyncio RuntimeError: This event loop is already running相关的知识,希望对你有一定的参考价值。

遇到报错如下示意:

解决方法:

# 下载一个库nest_asyncio
pip3 install nest_asyncio

在异步协程代码开头,加上如下两行,或者代码中也行:

import nest_asyncio

nest_asyncio.apply()

查阅资料后发现,发现使用 jupyter notebook 环境,其连接着 IPython 内核,而 IPython 内核本身在事件循环上运行,而 asyncio 不允许嵌套其事件​​循环,因此会出现如上图的错误信息。

nest_asyncio 作为异步操作的补丁而存在,具体内容请参考:

以上是关于Python 成功解决报错 asyncio RuntimeError: This event loop is already running的主要内容,如果未能解决你的问题,请参考以下文章

asyncio的简单使用,python异步高效处理数据,asyncio.get_event_loop(),loop.run_until_complete(main()),loop.close()

python-asyncio

`asyncio.run()` 不等待协程完成

跟随 asyncio.run() 时 asyncio.get_event_loop() 失败

(Python)asyncio使用异常:This event loop is already running解决方式

Python asyncio run_coroutine_threadsafe 从不运行协程?