Мне обычно приходится перезапускать (большую часть) ноутбука при его повторном открытии, чтобы получить доступ к ранее определенным переменным и продолжать работать.
Однако иногда я бы хотел пропустить некоторые из ячеек, которые не влияют на последующие ячейки (например, они могут содержать ветвь анализа, которая завершена) и могут занять очень много времени. Эти ячейки могут быть разбросаны по всему ноутбуку, так что что-то вроде "Run All Below" не поможет.
Есть ли способ достичь этого?
В идеале эти ячейки могут быть помечены некоторыми специальными флагами, так что они могут быть "Run" вручную, но будут пропускаться, когда "Запустить все".
ИЗМЕНИТЬ
%%cache
(расширение ipycache), как предложено @Jakob, решает проблему в некоторой степени.
На самом деле, мне даже не нужно загружать любые переменные (которые могут быть большими, но ненужными для следующих ячеек) при повторном запуске, только анализируемый результат имеет значение только для сохраненного вывода.
Как обход, поместите %%cache folder/unique_identifier
в начало ячейки. Код будет выполнен только один раз, и никакие переменные не будут загружены при повторном запуске, если вы не удалите файл unique_identifier.
К сожалению, все выходные результаты теряются при повторном запуске с %%cache
...
EDIT II (14 октября 2013 г.)
Мастер-версия ipython + ipycache теперь разжигает (и снова отображает) вывод кодека.
Для богатых выходных данных дисплея, включая Latex, HTML (pandas вывод DataFrame), не забудьте использовать метод IPython display(), например, display(Latex(r'$\alpha_1$'))