Запуск ноутбука IPython /Jupyter не в интерактивном режиме

Кто-нибудь знает, возможно ли запускать записную книжку IPython /Jupyter неинтерактивно из командной строки и получить в результате .ipynb файл сохранен с результатами прогона. Если это уже невозможно, насколько сложно будет реализовать phantomJS, что-то для включения и выключения ядра и что-то для включения и выключения веб-сервера?

Если быть более точным, давайте предположим, что у меня уже есть записная книжка original.ipynb, и я хочу перезапустить все ячейки в этой записной книжке и сохранить в результате вы получите новую записную книжку new.ipynb, но сделайте это с помощью одной команды в командной строке, не требуя взаимодействия в браузере или при закрытии ядро или веб-сервер и предполагается, что ядро ​​или веб-сервер уже не запущены.

пример команды:

$ ipython notebook run original.ipynb --output=new.ipynb

70 голосов | спросил davidshinn 28 J000000Sunday13 2013, 09:38:04

4 ответа


0

Да, это возможно и просто, в основном это будет ядро ​​IPython для 2.0, я бы посоветовал взглянуть на эти примеры сейчас.

[править]

$ jupyter nbconvert --to notebook --execute original.ipynb --output=new.ipynb

Это сейчас в Jupyter NbConvert. NbConvert поставляется с набором Preprocessor, которые по умолчанию отключены, два из них (ClearOutputPreprocessor и ExecutePreprocessor) представляют интерес. Вы можете включить их в своих (локальных | глобальных) конфигурационных файлах через c.<PreprocessorName>.enabled=True (верхний регистр это python), или по команде в строке с --ExecutePreprocessor.enabled=True оставшаяся часть команды остается обычной.

--ExecutePreprocessor.enabled=True имеет удобный --execute псевдоним, который можно использовать в последней версии NbConvert. При желании его можно объединить с --inplace

Например, преобразовать в html после запуска ноутбука без заголовка:

$ jupyter nbconvert --to=html --execute RunMe.ipynb

преобразование в PDF после удаления результатов

$ ipython nbconvert --to=pdf --ClearOutputPreprocessor.enabled=True RunMe.ipynb

Это (конечно) работает с ядрами, отличными от python, порождая ядро ​​<insert-your-language-here>, если вы установили --profile=<your fav profile>. Преобразование может быть очень долгим, так как необходимо перезапустить ноутбук. Вы можете конвертировать блокнот в блокнот с помощью опции --to=notebook.

Существуют различные другие параметры (тайм-аут, допустимые ошибки, ...), которые, возможно, потребуется установить /отключить в зависимости от варианта использования. См. Документацию и, конечно, jupyter nbconvert --help, --help-all или nbconvert онлайн-документации для получения дополнительной информации.

ответил Matt 29 J000000Monday13 2013, 03:04:51
0

Пока эта функциональность не станет частью ядра, я собрал небольшое приложение для командной строки, которое делает то, что вы хотите. Он называется runipy, и вы можете установить его с помощью pip install runipy. источник и файл readme находятся на github .

ответил paul 20 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 20 Sep 2013 07:38:15 +0400 2013, 07:38:15
0

Чтобы охватить некоторые функции, такие как параллельные рабочие или входные параметры, вы можете установить jupyter-runner

pip install jupyter-runner

Readme на github: https://github.com/omar-masmoudi/jupyter-runner

ответил Omar 10 MaramFri, 10 Mar 2017 02:03:51 +03002017-03-10T02:03:51+03:0002 2017, 02:03:51
0

Вы можете просто запустить iPython-Notebook-server из командной строки:

ipython notebook --pylab inline

Это запустит сервер в неинтерактивном режиме, и все выходные данные будут напечатаны под кодом. Затем вы можете сохранить .ipynb-файл, который включает в себя код & Выход.

ответил ala 28 J000000Sunday13 2013, 13:25:47

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132