Python

Convertir un Notebook en un archivo de Python

En una ocasión había preguntado en el blog acerca de cómo se podía convertir el contenido de un Notebook en un archivo de Python. Operación necesaria, por ejemplo, en el caso de que se desee poner en producción los desarrollos realizados. Afortunadamente los Notebooks de Jupyter ofrecen la posibilidad de exportar el contenido en texto plano, conservando las celdas de Markdown como comentarios. Funcionalidad con la que es posible crear archivos tanto de Python, como Julia o R, dependiendo del núcleo que se esté usando. Aunque esta funcionalidad puede ser un poco limitada. Para estos casos se puede instalar la extensión jupytext con la que se obtienen unas funcionalidades interesantes.

Cómo guardar un Notebook en un archivo de Python con Jupyter

Una vez creado un Notebook, si queremos guardar el contenido de este como un archivo de Python simplemente hay que ir al menú File > Download as > Python (.py) de Jupyter para descargarlo. Función en la que también se pueden encontrar otras opciones interesantes como puede ser HTML, Markdown o PDF, para compartir los Notebooks con usuarios que no necesitan editarlos.

Esta funcionalidad nativa de Jupyter es más que suficiente en la mayoría de los casos. Obteniendo como resultado un archivo con el código ejecutable y las celdas Markdown en forma de comentarios en los mismos.

Opciones avanzadas con el complemento jupytext

Para aquellos casos en los que la funcionalidad por defecto que ofrece Jupyter no es suficiente se puede recurrir a jupytext. Un complemento que se debe instalar en nuestro sistema.

Instalación de jupytext

El paquete jupytext se puede instalar utilizando tanto pip como conda, en el caso de que nos decantemos por pip se debe usar.

pip install jupytext

Por otro lado, si se prefiere conda el comando que se debe ejecutar es:

conda install jupytext -c conda-forge.

Ahora, la próxima vez que se reinicie el servidor de Jupyter aparecerán un nuevo submenú Jupytext debajo del menú File.

Emparejar el Notebook con un archivo Python

La funcionalidad más destacada de este complemento es la posibilidad de emparejar el Notebook con otros archivos. Algo va mucho más allá de generar un archivo Python. Cuando se activa esta opción, cada vez que se modifique el contenido del Notebook o del archivo Python los cambios se verán representados en el otro archivo. Algo que puede ser muy interesante para editar el código con un editor externo o para guardar los progresos en un sistema de control de cambios como Git.

Cuando se activa la opción que se encuentra en el menú File > Jupytext > Pais Notebook with light Script se obtiene un script Python con el mismo nombre del Notebook. En el caso de que se modifique el Notebook, cuando se guarde este, los cambios se verán reflejados también en el script. Por otro lado, si se realizan cambios en el script, estos se verán reflejados en Notebook cuando se recargue el mismo. Funcionalidad que puede ser de interés en muchos casos.

Conclusiones

En esta entrada se han visto dos opciones disponibles para guardar un Notebook en un archivo de Python. Para la mayoría de los casos la funcionalidad nativa de Jupyter puede ser más que suficiente. Pero, en el caso de que necesitemos sincronizar el contenido del Notebook con el archivo Python el complemento jupytext soluciona este problema.

Imagen de Bruno /Germany en Pixabay

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: Jupyter

Recent Posts

Data Lake y Data Warehouse: diferencias, usos y cómo se complementan en la era del dato

En la era del dato, las organizaciones se enfrentan al reto de gestionar volúmenes masivos…

2 días ago

Documentar tu API de Express con TypeScript usando OpenAPI (Swagger)

En la serie Creación de una API REST con Express y TypeScript construimos una API…

4 días ago

Curiosidad: El sesgo de supervivencia, o por qué prestar atención sólo a los que “llegaron” puede engañarte

Durante la Segunda Guerra Mundial, la Fuerza Aérea de Estados Unidos quería reforzar sus aviones…

1 semana ago

Cómo abrir una ventana de Chrome con tamaño y posición específicos desde la línea de comandos en Windows

En muchas situaciones —ya sea para grabar un tutorial, tomar capturas de pantalla profesionales, probar…

2 semanas ago

La Paradoja del Cumpleaños, o por qué no es tan raro compartir fecha de nacimiento

Imagínate en una sala con un grupo de personas, por ejemplo, en una oficina, un…

2 semanas ago

Programador de tareas de Windows: Guía definitiva para automatizar tu trabajo (BAT, PowerShell y Python)

En el trabajo diario con ordenadores, es común encontrarse con tareas repetitivas: realizar copias de…

3 semanas ago

This website uses cookies.