Как узнать, работает ли IPython?

У меня есть ноутбук IPython. У меня длинный цикл, который не производит вывод в одном из кодовых блоков. Это не так, но представьте себе, что это было:

for i in range(100):
    time.sleep(2)

Я начал работу с блоком кода, который был запущен некоторое время назад, и теперь я не могу сказать, закончилось ли это или все еще работает.

В строке состояния IPython в верхней части находится Last Checkpoint: 23 minutes ago (autosaved). На вкладке браузера ничего нет, чтобы показать, работает ли этот код.

Я не хочу запускать следующий блок, потому что я не знаю, закончен ли этот блок.

И я не хочу останавливать ядро ​​и добавлять инструкции печати к этому блоку, потому что если это 80% пути, я не хочу его убивать и перезапускать!

Есть ли что-нибудь в IPython - окне браузера или консоли - указывает, какой код работает прямо сейчас?

Ответ 1

  1. Вы можете увидеть, выполняется ли код еще в трех местах,В правом верхнем углу будет маленький кружок, который остается сплошным до завершения выполнения кода.

enter image description here

  1. Каждая ячейка будет иметь номер ячейки, но когда эта ячейка будет выполнена, она будет показывать * вместо числа

enter image description here

  1. В браузерах Chrome и Firefox значок вкладки меняется с ноутбука на часы.

enter image description here

Ответ 2

Блок кода будет иметь индикатор номера строки, например, ln[*], что означает, что блок работает:

enter image description here

Изменить 1:

В записных книжках Jupyter и в лаборатории Jupyter (ранее известной как записные книжки Ipython) существует ошибка, из-за которой при обновлении или повторном открытии записной книжки не сохраняется предыдущий вывод (включая ln[*]): https://github.com/jupyter/jupyter/issues/83

Изменить 2:

Если вы хотите использовать библиотеку, чтобы показать, работает ли ячейка (и ее прогресс), я рекомендую tqdm добавить индикаторы выполнения:

ASCII Bar: enter image description here

GUI Bar: enter image description here

Ответ 3

Посмотрите справа от терминала ipython, есть круг. если блок все еще работает, вы увидите сплошной круг, и когда вы наведете его, будет сказано "занято ядром"

если ничего не работает, вы увидите пустой круг, и когда вы наведете его, будет сказано "Ядро бездействия"

Ответ 4

Кроме того, на вкладке браузера (в моем случае Chrome) вы видите значок таймера при выполнении ячейки. Это удобно, если вы находитесь на какой-либо другой вкладке и хотите проверить статус выполнения. изображение таймера