Google Colab 中是否有与“await”等效的词?

Zac*_* Ni 1 google-colaboratory

我试图解决与 pyshark 相关的运行时错误“此事件循环已在运行”的问题。但是,当我按照网上的建议添加以下代码时。

等待 CapFile.packets_from_tshark(print_pkt)

我无法做到这一点,因为 Google Colab 中没有等价的等待?我应该怎么做才能避免这个问题?任何答案将不胜感激!

Eli*_*man 8

这是我在 Colab 上使用的 hack:

import nest_asyncio
nest_asyncio.apply()

import asyncio
awaitfn = lambda x: asyncio.get_event_loop().run_until_complete(x)
Run Code Online (Sandbox Code Playgroud)

进而:

awaitfn(CapFile.packets_from_tshark(print_pkt))
Run Code Online (Sandbox Code Playgroud)

编辑(2022 年 2 月):根本问题是 Google Colab 使用 2017 年起的 IPython 5.5。您可以通过运行以下命令手动升级它:

!pip install ipython ipykernel --upgrade
Run Code Online (Sandbox Code Playgroud)

Colab 开发团队似乎正在致力于