首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带Telethon的Python烧瓶

带Telethon的Python烧瓶
EN

Stack Overflow用户
提问于 2018-07-13 01:26:46
回答 2查看 1.7K关注 0票数 1

我想从我的Flask Web应用程序中使用Telethon Telegram API。但是当我运行它时,我得到了以下错误:

RuntimeError:线程“”thread -1“”中没有当前事件循环。“”

我认为asyncio有一些问题。但我对此并不确定。

以下是我的代码

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-19 03:07:03

基本上,这要归功于Python的GIL。如果您不想深入了解asyncio的内部原理,那么只需使用pip3 install telethon-sync即可。

票数 1
EN

Stack Overflow用户

发布于 2021-02-28 05:00:04

这是我在尝试之后学到的。首先,确保你知道asyncio是什么,它真的非常简单。然后你就可以更有效率地工作了。

Telethon使用asyncio,这意味着当你调用阻塞方法时,你必须等到协程结束。

您可以轻松导入asyncio并使用主循环。像这样。

现在,您可以等待协程完成。

创建一个新的异步函数,并将await添加到阻塞方法中。

使用主事件循环执行代码。

这是一个代码示例。

还有一件事。不要使用telethon.sync,它没有完全翻译成同步,它使用上面的模式,它等待所有的方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51311383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档