Course
Tutorial de introducción a JupyterLab
Es imposible entender el desarrollo de software sin lenguajes de programación. Es cierto, un desarrollador de software sin lenguaje de programación es como un taxista sin coche. Sin embargo, las cosas son más complejas. Al igual que el GPS facilita la vida de los taxistas, también lo hacen los Entornos de Desarrollo Integrado (también conocidos como IDE) para los programadores.
Los IDE están diseñados para permitir a los programadores escribir código y desarrollar aplicaciones de software de forma más eficiente. Los IDE aumentan la productividad de los programadores al reunir múltiples utilidades en una única interfaz. Escribir, probar y depurar código, así como las funciones de edición, como el resaltado de sintaxis, la coincidencia de corchetes y el autocompletado de código, son algunas de las características más comunes de los IDE modernos.
Hay muchos IDE especialmente adecuados para la ciencia de datos, incluido DataLab de DataCamp. En este artículo, le presentaremos JupyterLab, la próxima generación de Jupyter Notebook, probablemente el IDE más popular para la ciencia de datos. Lanzado en 2018, JupyterLab ofrece una interfaz de usuario flexible y más funciones que el clásico Jupyter Notebook, y es sin duda el presente y el futuro del Proyecto Jupyter. ¿Dispuesto a empezar con JupyterLab? Siga leyendo.
Breve introducción a Jupyter Notebook
Cuando Jupyter Notebook se lanzó por primera vez en 2014, revolucionó rápidamente el panorama de las IDE. Considerado recientemente uno de los proyectos informáticos más importantes, que ha cambiado para siempre el proceso de publicación científica, Jupyter se ha convertido en el estándar de facto en ciencia de datos.
Jupyter Notebook funciona como una aplicación servidor-cliente que permite a los programadores editar y ejecutar cuadernos a través de un navegador web. La aplicación puede ejecutarse en un ordenador sin acceso a Internet, o puede instalarse en un servidor remoto, desde donde podrá acceder a ella a través de Internet.
Inicialmente diseñado para ser compatible con Julia, Python y R -tres de los lenguajes de programaciónmás populares para la ciencia de datos-, en la actualidadJupyter es compatible con más de 40 lenguajes de programación.
Jupyter consta de dos componentes principales.
- Kernel. Es un programa que ejecuta e introspecciona el código del usuario. Por defecto, Jupyter tiene un núcleo para código Python, pero también hay núcleos disponibles para otros lenguajes de programación.
- Cuadro de mandos. Un cuaderno se compone principalmente de una secuencia de celdas, que pueden contener elementos como código, texto, visualizaciones, imágenes y fórmulas. Además de las celdas, el panel incluye varias herramientas para configurar el flujo de trabajo de los cuadernos, depurar código, exportar cuadernos en distintos formatos, examinar documentos y muchas más.
Como versión mejorada de Jupyter Notebook, JupyterLab añade nuevas funciones y capacidades, aunque los componentes básicos permanecen intactos.
Introducción a JupyterLab
Para utilizar JupyterLab, primero tendrás que instalarlo en tu ordenador, como con cualquier otro programa. Esto se puede hacer de diferentes maneras, dependiendo de sus preferencias: usando pip, Anaconda, o Docker.
Instalación de JupyterLab con pip
Pip es el gestor de paquetes estándar en Python. Para instalar JupyterLab con pip, sólo tienes que ejecutar en la línea de comandos:
>>pip install jupyterlab
Después de ejecutar esta instrucción, pip instalará los paquetes de JupyterLab así como todas las dependencias necesarias para que JupyterLab funcione. Si quieres saber más sobre cómo gestionar paquetes en Python, echa un vistazo a nuestro Tutorial de Pip Python para la gestión de paquetes.
Una vez que hayas instalado correctamente JupyterLab en tu ordenador, sólo tienes que ejecutar la siguiente sentencia para abrir JupyterLab:
>>jupyter lab
Entonces verá que la aplicación se abre en su navegador web preferido en la siguiente dirección: http://localhost:8888/lab
Instalación de JupyterLab con Anaconda
Anaconda es un gestor de paquetes, un gestor de entornos y una distribución de Python que contiene una colección de muchos paquetes de código abierto. Anaconda es una gran opción si quieres iniciarte en la ciencia de datos. Ya no tienes que preocuparte de cómo instalar Python o JupyterLab, ya que se instalan automáticamente en las distribuciones modernas de Anaconda.
La forma más sencilla de lanzar JupyterLab es a través del Navegador de Anaconda, una aplicación que te permite hacer uso de las funcionalidades de Anaconda de forma amigable y sin código. Como puedes ver en la siguiente imagen, tanto Jupyter Notebook como JupyterLab ya están instalados. Sólo tienes que hacer clic en el botón Launch para abrir JupyterLab en tu navegador web.
Sin embargo, en ciertos casos -por ejemplo, cuando se crea un nuevo entorno conda-, puede que necesites instalar JupyterLab en ese entorno. Para ello, la forma más rápida es ejecutando lo siguiente en la línea de comandos de conda (Anaconda Prompt en Windows y terminal en macOS y Linux):
>>conda install -c conda-forge jupyterlab
Instalación de JupyterLab con Docker
Docker es una plataforma abierta para ejecutar software en contenedores. Estos contenedores son procesos autocontenidos y aislados que permiten separar las aplicaciones de la infraestructura para entregar el software con rapidez.
Si tienes Docker instalado, puedes instalar y utilizar JupyterLab seleccionando una de las muchas imágenes Docker soportadas por Jupyter Docker Stacks. Puede considerar estas imágenes como paquetes de software preempaquetados que pueden descargarse automáticamente de Docker al ejecutarlos.
Por ejemplo, si quieres instalar la imagen de Doker jupyter/datascience-notebook, que incluye librerías para el análisis de datos de Julia, Python y R, sólo tienes que ejecutar lo siguiente en el comando Docker:
>>docker run -it -p 10000:8888 -e JUPYTER_ENABLE_LAB=yes jupyter/scipy-notebook
Para más detalles y ejemplos sobre cómo usar JupyterLab en Docker, consulta la documentación. Además, para una introducción detallada a Docker, recomendamos encarecidamente este tutorial de DataCamp.
JupyterLab Interface
La interfaz JupyterLab es una versión remasterizada de la interfaz Jupyter Notebook, que proporciona un nuevo conjunto de bloques modulares para una computación interactiva y eficiente. JupyterLab integra varias herramientas de codificación en una única interfaz, ofreciendo así una experiencia de codificación que se asemeja más a los IDE tradicionales.
La interfaz de JupyterLab consta de los siguientes elementos principales:
- Área de trabajo. El área de trabajo principal viene con un nuevo diseño basado en pestañas que permite combinar distintos documentos (cuadernos, archivos de datos, HTML, pdf, imágenes, etc.) y herramientas de codificación (terminal, consolas de código, editor de texto, etc.) en paneles de pestañas que se pueden redimensionar o subdividir mediante arrastrar y soltar. El sistema basado en pestañas, ausente en Jupyter Notebook, permite una programación más integrada y eficiente, ya que los desarrolladores pueden realizar la mayoría de sus tareas sin salir de JupyterLab.
- Barra lateral izquierda. La barra lateral plegable contiene varias pestañas de uso común, entre ellas:
- Navegador de archivos. Te permite gestionar los archivos y carpetas de tu ordenador.
- Ficha y gestor del núcleo. Proporciona una lista de pestañas en el área de trabajo principal y de núcleos y terminales en ejecución.
- Tabla de contenidos. Un índice interactivo basado en encabezamientos incluidos en celdas markdown.
- Director de extensión. Te permite instalar nuevas aplicaciones y plugins para mejorar tu experiencia con JupyterLab (ver más abajo).
- Barra lateral derecha. Una segunda barra lateral plegable que contiene:
- Inspector de la propiedad. Permite inspeccionar con todo detalle la información y las propiedades de las células.
- Depurador (ver más abajo)
- Barra de menús. La barra de menú en la parte superior de JupyterLab incluye menús de nivel superior con acciones disponibles en JupyterLab. Los diferentes menús son:
- Archivo: acciones relacionadas con archivos y directorios.
- Editar: acciones relacionadas con la edición de documentos y otras actividades.
- Ver: acciones que cambian la apariencia de JupyterLab.
- Ejecutar: acciones para ejecutar código en diferentes actividades.
- Núcleo: acciones para la gestión de kernels.
- Fichas: una lista de los documentos y actividades abiertos en el área de trabajo.
- Ajustes: ajustes comunes y un editor de ajustes avanzados. Una de las características más interesantes de JupyterLab es la posibilidad de elegir diferentes temas para la interfaz, incluido el modo oscuro.
- Ayuda: una lista de enlaces de ayuda sobre JupyterLab y el kernel.
Depuración en JupyterLab
El objetivo de la depuración es señalar las causas de los errores encontrados en el programa durante el proceso de prueba y, de este modo, ajustar el código para obtener el resultado preciso y deseado.
Los progresistas de datos, y más ampliamente, los desarrolladores de software, controlan las interacciones entre las variables del programa y los cambios que se producen en ellas en un proceso de depuración. Puede investigar las posibles causas de los errores en su programa viendo cómo cada función, método o incluso línea de código diferente altera el valor y la funcionalidad de las variables.
Jupyter Notebook y las primeras versiones de JupyterLab incorporaban el comando mágico integrado %debug para realizar tareas de depuración. Sin embargo, la herramienta es bastante rudimentaria en comparación con los depuradores de otros IDE.
Afortunadamente, las últimas versiones de JupyerLab incluyen un depurador por defecto, que incluye las capacidades tradicionales de depuración, incluyendo el establecimiento de puntos de interrupción, el paso a las funciones, y la inspección de variables. Puede activarlo desde la barra lateral derecha, como se muestra en la imagen siguiente:
JupyterLab Extensions
JupyterLab ya es una herramienta potente y bien equipada, con nuevas funciones que harán que tu experiencia de codificación sea más parecida a la de un IDE. Sin embargo, si crees que faltan algunas funcionalidades o quieres mejorar las capacidades de JupyterLab, deberías consultar las Extensiones de Jupyter.
Escritas en JavaScript, las extensiones de JUpyterLab son piezas de software que contienen uno o más plugins para añadir nuevas capacidades a JupyterLab, como nuevos temas, editor de archivos y nuevos atajos de comandos.
Existen dos tipos de extensiones de JupyterLab:
- Extensión preconstruida. No requieren una reconstrucción de JupyterLab.
- Ampliación de la fuente. Requieren una reconstrucción de JupyterLab cuando se instalan. La reconstrucción de JupyterLab requiere la instalación de Node.js, un entorno multiplataforma de código abierto para ejecutar aplicaciones JavaScript.
Si usas conda con paquetes conda-forge, puedes obtener Node.js con:
>>conda install -c conda-forge nodejs
Hay varias formas de gestionar las extensiones de JupyterLab, pero le recomendamos encarecidamente que utilice el Gestor de extensiones incorporado. Se accede a través del icono del rompecabezas en la barra lateral de la vida, el gestor de extensiones le permite instalar y desactivar extensiones sin necesidad de codificación.
Para más información sobre las extensiones de JupyterLab y cómo gestionarlas, consulta la documentación de JupyterLab.
JupyterLab frente a Jupyter Notebook
A continuación, puedes encontrar una tabla de diferencias entre Jupyter Notebook y JupyterLab:
Jupyter Notebook |
JupyterLab |
|
Fecha de publicación |
2014 |
2018 |
¿Fuente abierta? |
Sí |
Sí |
Sistema de fichas |
Ficha única |
Pestañas múltiples y modulares, todo a la vista |
Capacidades de depuración |
%debug comando mágico |
Debugger |
Visor de archivos de datos |
Los archivos de datos se ven como archivos de texto |
Los datos pueden visualizarse en formato de tabla |
Experiencia en codificación |
Parece una herramienta independiente |
Parece un IDE |
Temas por defecto |
Blanco |
Luz y oscuridad |
Advantages |
|
|
Disadvantages |
|
|
Evolución futura |
Sigue siendo una versión antigua heredada |
El futuro del Proyecto Jupyter |
DataLab
Si está buscando un IDE en línea basado en la nube que le permita escribir código y analizar datos de forma colaborativa y compartir sus conocimientos sobre datos, DataLab es una gran elección.
Creada por DataCamp, DataLab es una plataforma de análisis de datos basada en la nube que está diseñada para ayudarle a empezar de forma rápida y sencilla. Con DataLab, puede saltarse el largo proceso de configuración y empezar a trabajar con los datos de inmediato. No es necesario instalar nada, ya que todo es accesible a través del navegador.
Al utilizar DataLab, encontrará conjuntos de datos incorporados que podrá utilizar al instante, así como plantillas preconstruidas con código preescrito. DataLab es accesible para todos los niveles de conocimientos, con herramientas de bajo y ningún código disponibles para crear informes y visualizaciones asombrosos.
También es compatible con Python y R, ambos con integraciones SQL nativas, y viene preconfigurado y preinstalado con los paquetes de ciencia de datos más populares del mundo.
Ejecute y edite el código de este tutorial en línea
Ejecutar códigoConclusión
Has llegado hasta el final. ¡Felicidades! Esperamos que hayas disfrutado de este tutorial sobre JupyterLab. Debido a su estructura basada en celdas, que se centra en la computación interactiva y exploratoria, Jupyter se convirtió rápidamente en una herramienta revolucionaria, el IDE preferido por los profesionales de los datos. En comparación con Jupyter Notebook, JupyterLab es una herramienta más refinada, que reúne lo mejor de los cuadernos y de los IDE tradicionales, como RStudio y PyCharm.
Por lo tanto, si eres nuevo en la ciencia de datos y te preguntas si deberías elegir Jupyter Notebook o JUpyterLab, te recomendamos encarecidamente que elijas este último. ¿Desea saber más sobre Jupyter? Consulta los siguientes materiales del DataCamp:
- Interfaz SQL en el tutorial de JupyterLab
- Tutorial de Jupyter Notebook: La guía definitiva
- Tutorial de Markdown en Jupyter Notebook
- Hoja de trucos de Jupyter Notebook
Preguntas frecuentes sobre el tutorial de JupyterLab
- ¿Qué es un IDE?
Los IDE son programas diseñados para permitir a los programadores escribir código y desarrollar aplicaciones de software de forma más eficiente. Los IDE aumentan la productividad de los programadores al reunir múltiples utilidades en una única interfaz. - ¿Qué es JupyterLab?
JupyterLab es el último IDE basado en web de Jupyter para cuadernos, código y datos. - ¿Qué es un cuaderno?
Un cuaderno es un documento que contiene elementos como código, ecuaciones, visualizaciones y texto, siguiendo una estructura basada en celdas. - ¿Puedo utilizar Python en JupyterLab?
Sí, así como otros lenguajes de programación para la ciencia de datos, como Ry Julia - ¿Qué es JupyterLab Extension Manager?
Te permite instalar nuevas aplicaciones y plugins para mejorar tu experiencia con JupyterLab - ¿Debo elegir Jupyter Notebook o JupyterLab?
Dado que JupyterLab es el presente y el futuro del Proyecto Jupyter, te recomendamos encarecidamente que elijas JupyterLab.
Cursos relacionados
Course
Intermediate Python
Course
Introduction to Data Science in Python
tutorial
Cómo utilizar Jupyter Notebooks: La guía definitiva
Adam Shafi
25 min
tutorial
Los 6 mejores IDEs de Python para ciencia de datos en 2023
tutorial
Tutorial de Pyspark: Primeros pasos con Pyspark
tutorial
Tutorial de Python: Streamlit
tutorial
Introducción al trazado con Matplotlib en Python
Kevin Babitz
25 min