Estoy mirando el uso de los archivos * .ipynb como la fuente de la verdad y programáticamente 'compilándolos' en archivos .py para trabajos / tareas programadas.
La única forma en que entiendo hacer esto es a través de la GUI. ¿Hay alguna manera de hacerlo a través de la línea de comando?
ipython
ipython-notebook
Stefan Krawczyk
fuente
fuente
input
claves donde seacell_type
igual a 'código'. Echa un vistazo a este esquemaRespuestas:
Si no desea generar un script Python cada vez que guarda, o no desea reiniciar el kernel de IPython:
En la línea de comando , puede usar
nbconvert
:Como un truco, incluso puede llamar al comando anterior en un cuaderno de IPython pre-pendiente
!
(usado para cualquier argumento de línea de comando). Dentro de un cuaderno:Antes
--to script
se agregaba , la opción era--to python
o--to=python
, pero se renombró en el movimiento hacia un sistema de cuaderno independiente del idioma.fuente
jupyter
puede activarlonbconvert
mediante ganchos previos o posteriores al guardado:ContentsManager.pre_save_hook
abdFileContentsManager.post_save_hook
.jupyter nbconvert --to script [notebook]
jupyter nbconvert --to script /path/to/notebooks/*.ipynb
# In[ ]:
tipo de letra en el script, quiero que esté limpio? ¿Hay alguna manera de hacerlo?Si desea convertir todos los
*.ipynb
archivos del directorio actual a la secuencia de comandos de Python, puede ejecutar el comando de esta manera:fuente
Aquí hay una manera rápida y sucia de extraer el código de V3 o V4 ipynb sin usar ipython. No verifica los tipos de celdas, etc.
fuente
newlines='\n'
como tercer argumento en la llamada al archivo de salida abierto. (Python 3.x)Siguiendo el ejemplo anterior pero con la nueva versión nbformat lib :
fuente
Puede hacerlo desde la API de IPython.
fuente
Es bueno tener Jupytext en su cadena de herramientas para tales conversiones. No solo permite la conversión de una libreta a una secuencia de comandos, sino que también puede volver de nuevo de la secuencia de comandos a la libreta. E incluso tener ese cuaderno producido en forma ejecutada.
fuente
%pip install jupytext
en su computadora portátil.Para convertir todos los archivos de formato * .ipynb en el directorio actual a scripts de python de forma recursiva:
fuente
--to script
argumento para evitar la salida HTML predeterminada en Jupiter 4.4.0.Tuve este problema e intenté encontrar la solución en línea. Aunque encontré algunas soluciones, todavía tienen algunos problemas, por ejemplo, la molesta
Untitled.txt
creación automática cuando inicia un nuevo cuaderno desde el tablero.Finalmente, escribí mi propia solución :
Para usar este script, puede agregarlo a
~/.jupyter/jupyter_notebook_config.py
:)Tenga en cuenta que es posible que deba reiniciar el jupyter notebook / lab para que funcione.
fuente
Hay un paquete muy agradable llamado nb_dev que está diseñado para crear paquetes de Python en Jupyter Notebooks. Al igual
nbconvert,
que puede convertir una computadora portátil en un archivo .py, pero es más flexible y potente porque tiene muchas características adicionales de autoría adicionales para ayudarlo a desarrollar pruebas, documentación y registrar paquetes en PyPI. Fue desarrollado por la gente de fast.ai.Tiene un poco de curva de aprendizaje, pero la documentación es buena y no es difícil en general.
fuente