Sí, es posible y fácil, estará (principalmente) en el núcleo de IPython para 2.0, sugeriría mirar esos ejemplos por ahora.
[editar]
$ jupyter nbconvert --to notebook --execute original.ipynb --output=new.ipynb
Ahora está en Jupyter NbConvert. NbConvert viene con un montón de correos electrónicos Preprocessor
que están deshabilitados por defecto, dos de ellos ( ClearOutputPreprocessor
y ExecutePreprocessor
) son de interés. Puede habilitarlos en su (s) archivo (s) de configuración (local | global) a través de c.<PreprocessorName>.enabled=True
(Mayúsculas que es python), o en la línea de comando --ExecutePreprocessor.enabled=True
manteniendo el resto del comando como de costumbre.
El --ExecutePreprocessor.enabled=True
tiene convenientes --execute
alias que se pueden utilizar en la versión reciente de NbConvert. Se puede combinar con --inplace
si se desea
Por ejemplo, conviértalo a html después de ejecutar el portátil sin cabeza:
$ jupyter nbconvert --to=html --execute RunMe.ipynb
convertir a PDF después de eliminar las salidas
$ ipython nbconvert --to=pdf --ClearOutputPreprocessor.enabled=True RunMe.ipynb
Esto (por supuesto) funciona con kernels que no son de Python al generar un <insert-your-language-here>
kernel, si lo configura --profile=<your fav profile>
. La conversión puede ser muy larga ya que necesita volver a ejecutar el portátil. Puede realizar la conversión de portátil a portátil con el--to=notebook
opción.
Hay varias otras opciones (tiempo de espera, permitir errores, ...) que es posible que deban configurarse / desarmarse según el caso de uso. Consulte la documentación y, por supuesto jupyter nbconvert --help
, --help-all
o la documentación en línea de nbconvert para obtener más información.
$ ipnbdocttest.py original.ipynb new.ipynb
gist.github.com/davidshinn/6110231ipython nbconvert --to=html --execute RunMe.ipynb
--ExecutePreprocessor.timeout=-1
refjupyter nbconvert --to notebook --execute --allow-errors notebook.ipynb
tal vez la respuesta podría editarseHasta que esta funcionalidad se convierta en parte del núcleo, armé una pequeña aplicación de línea de comandos que hace exactamente lo que quieres. Se llama runipy y puedes instalarlo con
pip install runipy
. La fuente y el archivo Léame están en github .fuente
signature
campo y, como consecuencia (bueno, creo que es una consecuencia), ninguno de mis SVG se representa realmente: IPython prefiere mostrar la__repr__
representación textual sin formato en su lugar .Ejecute y reemplace el archivo .ipunb original:
jupyter nbconvert --ExecutePreprocessor.timeout=-1 --to notebook --inplace --execute original.ipynb
fuente
Para cubrir algunas características como trabajadores paralelos, parámetros de entrada, envío de correo electrónico o entrada / salida S3 ... puedes instalar jupyter-runner
Léame en github: https://github.com/omar-masmoudi/jupyter-runner
fuente
Puede ejecutar el servidor iPython-Notebook-server a través de la línea de comando:
Esto iniciará el servidor en modo no interactivo y todos los resultados se imprimen debajo del código. Luego puede guardar el archivo .ipynb que incluye Código y Salida.
fuente