Cómo ejecutar un.ipynb Jupyter Notebook de terminal?


Me disculpo de antemano si esto ya se ha preguntado, pero hice un poco de búsqueda en Google, y no pude encontrar una respuesta a una pregunta aparentemente simple.

Tengo algún código en a .archivo ipynb y llegó al punto en el que realmente no necesito la función "interactiva" de IPython Notebook. Me gustaría simplemente ejecutarlo directamente desde una línea de comandos de Terminal Mac.

Básicamente, si esto fuera solo un archivo. py, creo que podría hacer python filename.py desde la línea de comandos. Existir algo similar para a .ipynb archivo?

5 answers

Desde la línea de comandos puede convertir un notebook a python con este comando:

ipython nbconvert --to python <YourNotebook>.ipynb

Puede que tenga que instalar el paquete python mistune :

sudo pip install mistune
 48
Author: ditkin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-08 12:52:47

Nbconvert le permite ejecutar portátiles con la bandera --execute:

jupyter nbconvert --execute <notebook>

Si desea ejecutar un cuaderno y producir un nuevo cuaderno, puede agregar --to notebook:

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

O si desea reemplazar el cuaderno existente con la nueva salida:

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

Dado que es un comando muy largo, puede usar un alias:

alias nbx="jupyter nbconvert --execute --to notebook"
nbx [--inplace] <notebook>
 88
Author: minrk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-23 08:50:09

Puede exportar todo su código desde .ipynb y guardarlo como un script .py. A continuación, puede ejecutar el script en su terminal.

muestra de exportación de código

Espero que ayude.

 22
Author: Eric,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-22 03:43:31

Para la nueva versión en lugar de:

ipython nbconvert --to python <YourNotebook>.ipynb

Puedes usar jupyter instend de ipython:

jupyter nbconvert --to python <YourNotebook>.ipynb
 3
Author: Vijay Kantibhai,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-05 06:19:11

Actualización con comentario citado por el autor para una mejor visibilidad:

Nota del autor "Este proyecto comenzó antes de la API de ejecución de Jupyter, que ahora es la forma recomendada de ejecutar cuadernos desde la línea de comandos. Considere runipy obsoleto y sin mantenimiento."- Sebastian Palma

Instale la biblioteca runipy que permite ejecutar su código en la terminal

pip install runipy

Después de solo compilar su código:

runipy <YourNotebookName>.ipynb

También puedes probar cronjob. Toda la información es aquí

 0
Author: Axis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-02 18:30:13