繁体   English   中英

无法从 python 中的模块导入异步 function

[英]Can not import async function from module in python

我目前正在尝试在 python 中导入一个(自己编写的)异步 function,但编译器给我一条错误消息。 请参阅下面的简约示例(是的,我知道在此示例中,异步实际上没有任何意义,但出于演示目的,我认为它很好)。

在 example2.py 中,编译器告诉我“等待”仅在异步 function Pylance 中允许。 如果我在 an.ipynb 文件中启动相同的代码,编译器仍然会显示错误,但如果我运行它,它会按预期工作。

我的第一个怀疑是我需要在导入时将 function 标记为异步,但我找不到任何方法可以做到这一点。 我的另一个想法是这是一个编辑器问题,我需要以某种方式为编译器定义一个异常。 但是当我使用VS Code时,我认为现在有人已经解决了这个问题。

有谁知道问题是什么/如何解决? 我想了解为什么会出现此问题。

例子.py:

async def add():
    return 1+1

例子2.py:

from example import  add
x =await add()

阅读Python 异步/等待文档

import asyncio
from example import add

x = asyncio.run(add())
print(f'x={x}')

调用async function 返回Promise

您必须等待通过调用async function 生成的 Promise。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM