Ответ 1
Из командной строки вы можете преобразовать ноутбук в python с помощью этой команды:
ipython nbconvert --to python <YourNotebook>.ipynb
Возможно, вам придется установить пакет mistune python:
sudo pip install mistune
У меня есть некоторый код в файле .ipynb, и я пришел к тому, что мне действительно не нужна "интерактивная" функция IPython Notebook. Я хотел бы просто запустить его прямо из командной строки Mac Terminal.
По сути, если бы это был просто файл .py, я думаю, что я мог бы просто сделать python filename.py из командной строки. Есть ли что-то похожее на файл .ipynb?
Из командной строки вы можете преобразовать ноутбук в python с помощью этой команды:
ipython nbconvert --to python <YourNotebook>.ipynb
Возможно, вам придется установить пакет mistune python:
sudo pip install mistune
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>
Вы можете экспортировать весь свой код из .ipynb
и сохранить его как .py
script. Затем вы можете запустить script в своем терминале.
Надеюсь, что это поможет.
Для новой версии вместо:
ipython nbconvert --to python <YourNotebook>.ipynb
Вы можете использовать jupyter вместо ipython:
jupyter nbconvert --to python <YourNotebook>.ipynb
Обновление с цитируемым комментарием автора для лучшей видимости:
Примечание автора: "Этот проект был запущен до того, как Jupyter запустил API, который теперь является рекомендуемым способом запуска записных книжек из командной строки. Считайте, что runipy устарел и не поддерживается". - Себастьян Пальма
Установите библиотеку runipy, которая позволяет запускать ваш код на терминале
pip install runipy
После всего лишь компиляции вашего кода:
runipy <YourNotebookName>.ipynb
Вы также можете попробовать cronjob. Вся информация здесь
В моем случае команда, которая больше всего подходила мне, была:
jupyter nbconvert --execute --clear-output <notebook>.ipynb
Почему? Эта команда не создает дополнительные файлы (как файл .py
), и выходные данные ячеек перезаписываются при каждом выполнении записной книжки.
Если вы запустите:
jupyter nbconvert --help
--clear-вывода Очистите вывод текущего файла и сохраните его на месте, перезаписав существующий блокнот.