栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

无法从正在运行的事件循环中调用asyncio.run()

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

无法从正在运行的事件循环中调用asyncio.run()

asyncio.run()
文件说:

当另一个异步事件循环在同一线程中运行时,无法调用此函数。

你的情况的问题是,jupyter(IPython中)已经运行的事件循环(对于IPython的≥7.0):

现在,您可以在IPython终端和笔记本中的顶层使用async /
await,在大多数情况下,它应该“正常工作”。将IPython更新到版本7+,将IPykernel更新到版本5+,您就可以开始比赛了。

这就是为什么您不需要在jupyter中自己启动事件循环,

await main(url)
甚至可以在外部异步函数中直接调用的原因。

在朱庇特

async def main():    print(1)await main()

在纯Python(≥3.7)中

import asyncioasync def main():    print(1)asyncio.run(main())

在您的代码中将给出:

url = ['url1', 'url2']result = await main(url)for text in result:    pass # text contains your html (text) response


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/660892.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号