Подтвердить что ты не робот

Как запустить ноутбук .ipynb Jupyter с терминала?

У меня есть некоторый код в файле .ipynb, и я пришел к тому, что мне действительно не нужна "интерактивная" функция IPython Notebook. Я хотел бы просто запустить его прямо из командной строки Mac Terminal.

По сути, если бы это был просто файл .py, я думаю, что я мог бы просто сделать python filename.py из командной строки. Есть ли что-то похожее на файл .ipynb?

4b9b3361

Ответ 1

Из командной строки вы можете преобразовать ноутбук в python с помощью этой команды:

ipython nbconvert --to python <YourNotebook>.ipynb

Возможно, вам придется установить пакет mistune python:

sudo pip install mistune

Ответ 2

nbconvert позволяет запускать ноутбуки с флагом --execute:

jupyter nbconvert --execute <notebook>

Если вы хотите запустить ноутбук и создать новый ноутбук, вы можете добавить --to notebook:

jupyter nbconvert --execute --to notebook <notebook>

Или если вы хотите заменить существующий ноутбук новым выходом:

jupyter nbconvert --execute --to notebook --inplace <notebook>

Поскольку это действительно длинная команда, вы можете использовать псевдоним:

alias nbx="jupyter nbconvert --execute --to notebook"
nbx [--inplace] <notebook>

Ответ 3

Вы можете экспортировать весь свой код из .ipynb и сохранить его как .py script. Затем вы можете запустить script в своем терминале.

образец экспорта кода

Надеюсь, что это поможет.

Ответ 4

Для новой версии вместо:

ipython nbconvert --to python <YourNotebook>.ipynb

Вы можете использовать jupyter вместо ipython:

jupyter nbconvert --to python <YourNotebook>.ipynb

Ответ 5

Обновление с цитируемым комментарием автора для лучшей видимости:

Примечание автора: "Этот проект был запущен до того, как Jupyter запустил API, который теперь является рекомендуемым способом запуска записных книжек из командной строки. Считайте, что runipy устарел и не поддерживается". - Себастьян Пальма

Установите библиотеку runipy, которая позволяет запускать ваш код на терминале

pip install runipy

После всего лишь компиляции вашего кода:

runipy <YourNotebookName>.ipynb

Вы также можете попробовать cronjob. Вся информация здесь

Ответ 6

В моем случае команда, которая больше всего подходила мне, была:

jupyter nbconvert --execute --clear-output <notebook>.ipynb

Почему? Эта команда не создает дополнительные файлы (как файл .py), и выходные данные ячеек перезаписываются при каждом выполнении записной книжки.

Если вы запустите:

jupyter nbconvert --help

--clear-вывода Очистите вывод текущего файла и сохраните его на месте, перезаписав существующий блокнот.