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

Posted 剑客阿良_ALiang

tags:

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

问题背景

asyncio是Python 3.4版本引入的标准库,直接内置了对异步IO的支持。最近我在多线程调用使用asyncio方法的时候,出现报错:

This event loop is already running

后来查过一些资料,发现asyncio不允许嵌套事件出现,需要引入nest_asyncio。

问题解决

引入nest_asyncio模块

pip install nest_asyncio -i https://pypi.douban.com/simple

代码添加

import nest_asyncio

nest_asyncio.apply()

其他的不需要改动。

总结

给自己留个记录,防止忘了。如果对你有用的话,点个赞吧

 

以上是关于(Python)asyncio使用异常:This event loop is already running解决方式的主要内容,如果未能解决你的问题,请参考以下文章

Python 3.6 asyncio - 从未检索到任务异常 - 任务的产量不好:200

从 loop.create_task() 引发的 python asyncio 异常

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

深究Python中的asyncio库-asyncio简介与关键字

使用队列会导致 asyncio 异常“将 Future <Future pending> 附加到不同的循环”

Asyncio:发生异常时等待完成的任务