Jupyter асинхронно взаимодействует с бегущей клеткой - PullRequest
0 голосов
/ 11 октября 2018

Могу ли я использовать asyncio в Python для передачи управления другой ячейке Jupyter?

Например, предположим, что у меня есть ячейка Jupyter, такая как

x = 'foo'
for i in range(1_000_000):
    long_computation()
    print(x)

, и я ее запускаю.Пока он работает, я решил изменить x='bar', но не хочу останавливать цикл.В идеале я хотел бы перейти к следующей ячейке, набрать x = 'bar' и запустить ее, и цикл должен сразу же принять это изменение и начать печатать «полоску», не теряя ее места.Очевидно, что сейчас происходит то, что он просто добавляет эту ячейку в очередь, которая будет выполнена после завершения цикла.

Можно ли добавить какой-нибудь оператор await, который сделал бы это возможным?

1 Ответ

0 голосов
/ 11 октября 2018

Чтобы прояснить свой вопрос:

  1. Если вы имеете в виду, что хотите запустить эти две ячейки (ячейка цикла и изменить ячейку x) одну за другой.Это возможно, и вам просто нужно запустить вторую ячейку, и она будет выполнена сразу же после первой.
  2. Если вы хотите запустить вторую ячейку во время работы первой ячейки.Это невозможно.
...