You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Async IO报错:'await' outside function,求排查问题

问题原因及解决方法

你操作的核心错误是启动的REPL环境不对:

  • 你直接运行的是普通Python交互环境(python命令),这个环境里await关键字只能在异步函数(用async def定义的函数)内部使用,直接写await会触发语法错误。
  • 文档里用的是异步专用REPL,需要通过python -m asyncio命令启动,这个环境内置了异步运行上下文,允许你直接在顶层使用await语句。

正确操作步骤

  1. 在WSL Ubuntu 20.04终端中执行以下命令启动异步REPL:
    python -m asyncio
    
  2. 进入该环境后,再执行代码:
    import asyncio
    await asyncio.sleep(10, result='hello')
    
    就能得到预期的'hello'返回值。

补充:普通REPL的替代运行方式

如果不想启动异步REPL,在普通Python环境里可以用asyncio.run()包裹异步代码:

import asyncio
asyncio.run(asyncio.sleep(10, result='hello'))

也能得到相同结果。

内容的提问来源于stack exchange,提问作者Sarvesh Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 16:52:02