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

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


Примечание для модератора: этот вопрос был помечен как дубликат Как запустить ноутбук .ipynb Jupyter с терминала?. Тем не менее, этот вопрос был опубликован (спросил 18 февраля 1816 в 2:49) за несколько дней до этого (спросил 22-22 февраля в 3:35). В лучшем случае этот пост может быть отмечен как дубликат, и если это будет сочтено, подходящее действие будет состоять в объединить два вопроса, сохранив это, оригинал, как мастер.

Однако эти вопросы могут не дублироваться (намерение другого автора неясно). Независимо от того, этот вопрос, и он отвечает, конкретно адресует выполнение ячеек в jupyter-ноутбуке с терминала, а не просто конвертирует ноутбуки в файлы python.

Ответ 1

Вы можете использовать runipy, чтобы сделать это.

runipy будет запускать все ячейки в ноутбуке. Если произошла ошибка, процесс остановится.

$ pip install runipy

$ runipy MyNotebook.ipynb

Также есть команды для сохранения выходного файла в виде записной книжки или html-отчета:

$ runipy MyNotebook.ipynb OutputNotebook.ipynb

$ runipy MyNotebook.ipynb --html report.html

Ответ 2

nbconvert (инструмент jupyter для конвертации ноутбуков) позволяет вам делать это без каких-либо дополнительных пакетов:

Просто зайдите в свой терминал и введите

$ jupyter nbconvert --to блокнот --inplace - исполняйте mynotebook.ipynb

Источник

(Спасибо Стефану за предложение флага --inplace)

Ответ 3

Вы также можете попробовать papermill, которая позволяет запускать записные книжки из командной строки, а также передавать параметры:

Например:

$ papermill mynotebook.ipynb mynotebook_output.ipynb -p start "2017-11-01" -p end "2017-11-30"

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