Как узнать, работает ли IPython?
У меня есть ноутбук IPython. У меня длинный цикл, который не производит вывод в одном из кодовых блоков. Это не так, но представьте себе, что это было:
for i in range(100):
time.sleep(2)
Я начал работу с блоком кода, который был запущен некоторое время назад, и теперь я не могу сказать, закончилось ли это или все еще работает.
В строке состояния IPython в верхней части находится Last Checkpoint: 23 minutes ago (autosaved)
. На вкладке браузера ничего нет, чтобы показать, работает ли этот код.
Я не хочу запускать следующий блок, потому что я не знаю, закончен ли этот блок.
И я не хочу останавливать ядро и добавлять инструкции печати к этому блоку, потому что если это 80% пути, я не хочу его убивать и перезапускать!
Есть ли что-нибудь в IPython - окне браузера или консоли - указывает, какой код работает прямо сейчас?
Ответы
Ответ 1
- Вы можете увидеть, выполняется ли код еще в трех местах,В правом верхнем углу будет маленький кружок, который остается сплошным до завершения выполнения кода.
![enter image description here]()
- Каждая ячейка будет иметь номер ячейки, но когда эта ячейка будет выполнена, она будет показывать
*
вместо числа
![enter image description here]()
- В браузерах 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) вы видите значок таймера при выполнении ячейки. Это удобно, если вы находитесь на какой-либо другой вкладке и хотите проверить статус выполнения.
изображение таймера