2016-02-22 5 views
44

Я извиняюсь заранее, если это уже было задано, но я сделал несколько поисковых запросов, и я не мог найти ответ на кажущийся простой вопрос.Как запустить .ipynb Jupyter Notebook с терминала?

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

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

+0

Что-то вроде этого: https://github.com/paulgb/runipy? – idjaw

+0

Что-то в этом роде. У меня есть инструкции 'input' в моем ноутбуке ipython, и, похоже, у них проблемы с этими – Vincent

ответ

40

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

ipython nbconvert --to python <YourNotebook>.ipynb 

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

sudo pip install mistune 
+0

. Это просто эквивалент командной строки для правильного ответа @Eric. – ditkin

+2

Подкоманда 'ipython nbconvert' устарела в пользу jupyter nbconvert – PenguinEngineer

16

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

code export sample

Надеется, что это помогает.

52

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> 
1

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

pip install runipy 

После просто компилятор кода:

runipy <YourNotebookName>.ipynb 

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

Смежные вопросы