修补asyncio以允许嵌套事件循环

nest-asyncio的Python项目详细描述


BuildPyPiNumber of downloads

简介

按设计异步does not allow 其事件循环将被嵌套。这就提出了一个实际问题: 在事件循环为 已经在运行无法运行任务并等待 为了结果。试图这样做会导致错误 “RuntimeError: This event loop is already running”。

这个问题会在不同的环境中出现,比如Web服务器, gui应用程序和jupyter笔记本。

此模块修补asyncio以允许嵌套使用asyncio.runloop.run_until_complete

安装

pip3 install nest_asyncio

需要Python3.5或更高版本。

用法

importnest_asyncionest_asyncio.apply()

可选地,可以给出需要修补的特定循环 作为apply的参数,否则使用当前事件循环。 无论事件循环是否已在运行,都可以对其进行修补 或者不。只能修补来自asyncio的事件循环; 来自其他项目(如uvloop或quamash)的循环, 一般不能修补。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java LinkedHashMap搜索   java将类及其所有依赖项移动到另一个项目   java doGet和doPost之间有什么区别?   java统计实体JPA的所有特定属性   Neo4j服务器的java推荐设置   java我可以设置GAE的dev_appserver,以便在更改时自动重新加载上下文。类文件?   mysql我试图使用java记录保存项目,但该程序似乎无法连接到数据库   java PDA在挂起模式下失去与ServerSocket的TCP连接   当应用spring安全性时,java找不到jsp视图   javascript如何通过Web视图从React组件的构造函数执行Java函数   java为什么在一个线程迭代(使用迭代器)而另一个线程修改同一个非线程安全ArrayList副本时没有ConcurrentModificationException   java调试与Eclipse JD行不匹配   java文本字段,用于在JavaFX聊天应用程序中输入文本和插入图像