Есть ли эквивалент «await» в Google Colab?

#google-colaboratory

#google-colaboratory

Вопрос:

Я пытался решить проблему, связанную с ошибкой pyshark во время выполнения «Этот цикл событий уже запущен». Однако, когда я следил за советом онлайн, чтобы добавить следующий код.

ожидание CapFile.packets_from_tshark(print_pkt)

Я не смог этого сделать, потому что в Google Colab не было эквивалента await? Что я должен сделать, чтобы обойти проблему? Любой ответ будет оценен по достоинству!

Ответ №1:

Это хак, который я использую в своих Colabs:

 import nest_asyncio
nest_asyncio.apply()

import asyncio
awaitfn = lambda x: asyncio.get_event_loop().run_until_complete(x)
  

И тогда:

 awaitfn(CapFile.packets_from_tshark(print_pkt))
  

Редактировать (февраль 2022): основная проблема заключается в том, что Google Colab использует IPython 5.5 с 2017 года. Вы можете обновить его вручную, выполнив:

 !pip install ipython ipykernel --upgrade
  

Команда разработчиков Colab, похоже, работает над этим.

Комментарии:

1. Я попробую позже. И я дам вам знать, если это сработает.