Cómo configurar Jupyter Notebook con Python 3 en Ubuntu 18.04

Introducción

Jupyter Notebook es una aplicación web de código abierto que permite crear y compartir código interactivo, visualizaciones y más. Esta herramienta se puede utilizar con varios lenguajes de programación, incluidos Python, Julia, R, Haskell y Ruby. Se suele utilizar para trabajar con datos, modelado estadístico y aprendizaje automático.

Este tutorial le mostrará cómo configurar Jupyter Notebook para que se ejecute desde un servidor Ubuntu 18.04, y le enseñará a conectarse y utilizar el Notebook. Los Jupyter Notebooks (o simplemente Notebooks ) son documentos producidos por la aplicación Jupyter Notebook que contienen tanto código informático como elementos de texto enriquecido (párrafos, ecuaciones, figuras, enlaces, etc.) que ayudan a presentar y compartir investigaciones reproducibles. En el paso final de esta guía, ejecutará código Python 3 utilizando un Jupyter Notebook que se ejecuta en un servidor remoto.

Prerrequisitos

Para completar esta guía, necesitará una instancia de servidor Ubuntu 18.04 con un firewall y un usuario no root con privilegios sudo configurados. Puede configurarlo siguiendo nuestro tutorial de configuración inicial del servidor .

Paso 1: configuración de Python

Para comenzar el proceso, instala las dependencias para tu entorno de programación Python desde los repositorios de Ubuntu. Ubuntu 18.04 viene preinstalado con Python 3.6.9. Usarás el administrador de paquetes de Python pip para instalar componentes adicionales más adelante.

Primero, actualice el aptíndice del paquete local:

  1. sudo apt update

A continuación, instale pip y los archivos de encabezado de Python, que son utilizados por algunas de las dependencias de Jupyter:

  1. sudo apt install python3-pip python3-dev

Ahora puedes pasar a configurar un entorno virtual de Python.

Paso 2: creación de un entorno virtual de Python para Jupyter

Con algunas dependencias instaladas, puedes crear un entorno virtual de Python para administrar tus proyectos. Jupyter se instalará en este entorno virtual.

Necesitará acceso al virtualenvcomando que se puede instalar con pip.

Primero, actualice pip escribiendo:

  1. sudo -H pip3 install --upgrade pip

Luego instala virtualenvcon este comando:

  1. sudo -H pip3 install virtualenv

La -Hbandera garantiza que la política de seguridad establezca la homevariable de entorno en el directorio de inicio del usuario de destino.

Una vez virtualenvinstalado, puede comenzar a crear su entorno. Cree un directorio donde pueda guardar los archivos de su proyecto y muévalo a él. El siguiente directorio de ejemplo se llama my_project_dir. Use un nombre que sea significativo para usted y para lo que está haciendo.

Crea tu directorio escribiendo el siguiente comando:

  1. mkdir ~/my_project_dir

Muévete hacia adentro my_project_dircon este comando:

  1. cd ~/my_project_dir

Dentro del directorio del proyecto, crea un entorno virtual de Python. En este tutorial, nos referiremos al entorno como “, my_project_envpero, nuevamente, puedes llamarlo con cualquier nombre que sea relevante para tu proyecto”.

  1. virtualenv my_project_env

Esto crea un directorio llamado my_project_envdentro de su my_project_dirdirectorio. En su interior, se instalarán una versión local de Python y una versión local de pip. Puede utilizar esto para instalar y configurar un entorno Python aislado para Jupyter.

Antes de instalar Jupyter, activa el entorno virtual. Puedes hacerlo escribiendo:

  1. source my_project_env/bin/activate

El mensaje debería cambiar para indicar que ahora estás operando dentro de un entorno virtual de Python similar a este:

Ahora está listo para instalar Jupyter en este entorno virtual.

Paso 3: Instalación de Jupyter

Con su entorno virtual activo, instale Jupyter con la instancia local de pip.

Nota: Cuando el entorno virtual esté activado (cuando su mensaje (my_project_env)lo haya precedido), utilice pipen lugar de pip3, incluso si está usando Python 3. La copia de la herramienta del entorno virtual siempre se llama pip, independientemente de la versión de Python.

  1. pip install jupyter

En este punto, ha instalado correctamente todo el software necesario para ejecutar Jupyter. Ahora puede iniciar el servidor Notebook.

Paso 4: Ejecutar Jupyter Notebook

Ahora tienes todo lo que necesitas para ejecutar Jupyter Notebook. Para hacerlo, ejecuta el siguiente comando:

  1. jupyter notebook

Se imprimirá un registro de las actividades de Jupyter Notebook en la terminal. Cuando ejecuta Jupyter Notebook, este se ejecuta en un número de puerto específico. El primer Notebook que ejecute normalmente utilizará el puerto 8888. Para comprobar el número de puerto específico en el que se ejecuta Jupyter Notebook, consulte la salida del comando utilizado para iniciarlo:

Output[I 21:23:21.198 NotebookApp] Writing notebook server cookie secret to /home/sammy/.local/share/jupyter/runtime/notebook_cookie_secret[I 21:23:21.361 NotebookApp] Serving notebooks from local directory: /home/sammy/my_project_dir[I 21:23:21.361 NotebookApp] The Jupyter Notebook 6.4.10 is running at:[I 21:23:21.361 NotebookApp] http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72[I 21:23:21.361 NotebookApp]  or http://127.0.0.1:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72[I 21:23:21.361 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).[W 21:23:21.361 NotebookApp] No web browser found: could not locate runnable browser.[C 21:23:21.361 NotebookApp]    To access the notebook, open this file in a browser:        file:///home/sammy/.local/share/jupyter/runtime/nbserver-7924-open.html    Or copy and paste one of these URLs:        http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72     or http://127.0.0.1:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72

Si está ejecutando Jupyter Notebook en una computadora local (no en un servidor), puede navegar a la URL que se muestra para conectarse a Jupyter Notebook. Si está ejecutando Jupyter Notebook en un servidor, deberá conectarse al servidor mediante un túnel SSH como se describe en la siguiente sección.

En este punto, puede mantener abierta la conexión SSH y mantener Jupyter Notebook en ejecución o puede salir de la aplicación y volver a ejecutarla una vez que haya configurado la tunelización SSH.

Si desea detener el proceso de Jupyter Notebook, presione CTRL + C, escriba Yy luego ENTERpara confirmar. Se mostrará el siguiente resultado:

Output[C 19:23:34.939 NotebookApp] Shutdown confirmed[I 19:23:34.940 NotebookApp] Shutting down 0 kernels[I 19:23:34.941 NotebookApp] Shutting down 0 terminals

Ahora puedes configurar un túnel SSH para acceder al Notebook.

Paso 5: Conexión al servidor mediante túnel SSH

Jupyter Notebook se ejecuta en un puerto específico del servidor (como :8888, :8889etc.). La tunelización SSH le permite conectarse al puerto del servidor de forma segura.

Las dos siguientes subsecciones describen cómo crear un túnel SSH desde un sistema operativo Mac, Linux y Windows. Consulta la subsección correspondiente a tu computadora local.

Túnel SSH con Mac o Linux

Si usa Mac o Linux, los pasos para crear un túnel SSH son similares a los de usar SSH para iniciar sesión en su servidor remoto, excepto que hay parámetros adicionales en el sshcomando.

La tunelización SSH se puede realizar ejecutando el siguiente comando SSH en una nueva ventana de terminal local:

  1. ssh -L 8888:localhost:8888 your_server_username@your_server_ip

El sshcomando abre una conexión SSH, pero -L especifica que el puerto indicado en el host local (cliente) se debe reenviar al host y puerto indicados en el lado remoto (servidor). Esto significa que todo lo que se esté ejecutando en el segundo número de puerto (por ejemplo, 8888) en el servidor aparecerá en el primer número de puerto (por ejemplo, 8888) en su computadora local.

Opcionalmente, cambie el puerto 8888a uno de su elección para evitar utilizar un puerto que ya esté en uso por otro proceso.

server_usernamees tu nombre de usuario (por ejemploSammy) en el servidor que usted creó y your_server_ipes la dirección IP de su servidor.

Por ejemplo, para el nombre de usuario sammyy la dirección del servidor 203.0.113.0, el comando sería:

  1. ssh -L 8888:localhost:8888 sammy@203.0.113.0

Si no aparecen mensajes de error después de ejecutar el ssh -Lcomando, puede pasar a su entorno de programación y ejecutar Jupyter Notebook:

  1. jupyter notebook

Recibirá un resultado con una URL. Desde un navegador web en su máquina local, abra la interfaz web de Jupyter Notebook con la URL que comienza con http://localhost:8888. Asegúrese de que el número de token esté incluido o ingrese la cadena de número de token cuando se le solicite en http://localhost:8888:

Output...[I 21:23:21.361 NotebookApp] The Jupyter Notebook 6.4.10 is running at:[I 21:23:21.361 NotebookApp] http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72...

Túnel SSH con Windows y Putty

Si está utilizando Windows, puede crear un túnel SSH usando Putty .

Primero, ingrese la URL del servidor o la dirección IP en el campo Nombre de host (o dirección IP) como se muestra:

A continuación, haga clic en SSH en la parte inferior del panel izquierdo para expandir el menú y, a continuación, haga clic en Túneles . Ingrese el número de puerto local que desea utilizar para acceder a Jupyter en su máquina local. Elija 8000o mayor para evitar los puertos utilizados por otros servicios y configure el destino como donde es el número del puerto en el que se ejecuta Jupyter Notebook.localhost:8888:8888

Haga clic en el botón Agregar y los puertos deberían aparecer en la lista de puertos reenviados :

Por último, haga clic en el botón Abrir para conectarse al servidor a través de SSH y tunelear los puertos deseados. Navegue hasta (o el puerto que eligió) en un navegador web para conectarse a Jupyter Notebook que se ejecuta en el servidor. Asegúrese de que el número de token esté incluido o ingrese la cadena de número de token cuando se le solicite en .http://localhost:8000http://localhost:8000

Ya sea que se conecte dentro de un sistema operativo Mac/Linux o Windows, ahora debería estar conectado a su servidor a través de un túnel SSH. Ahora está listo para usar Jupyter Notebook en su navegador web.

Paso 6: uso de Jupyter Notebook

Si actualmente no tiene Jupyter Notebook ejecutándose, inícielo con el jupyter notebookcomando:

  1. jupyter notebook

Ahora deberías estar conectado a él mediante un navegador web. Jupyter Notebook es una herramienta muy potente con muchas funciones. En esta sección, se describirán algunas de las funciones básicas para que puedas empezar a utilizar el Notebook. Jupyter Notebook mostrará todos los archivos y carpetas del directorio desde el que se ejecuta, por lo que cuando trabajes en un proyecto, asegúrate de iniciarlo desde el directorio del proyecto.

Para crear un nuevo archivo de Notebook, seleccione Nuevo Python 3 en el menú desplegable superior derecho:

Esto abrirá un cuaderno. Ahora puede ejecutar código Python en la celda o cambiar la celda a Markdown. Por ejemplo, cambie la primera celda para que acepte Markdown haciendo clic en Celda Tipo de celda Markdown en la barra de navegación superior. Ahora puede escribir notas usando Markdown e incluso incluir ecuaciones escritas en LaTeX colocándolas entre los $$símbolos. Por ejemplo, escriba lo siguiente en la celda después de cambiarla a Markdown:

# First EquationLet us now implement the following equation:$$ y = x^2$$where $x = 2$

Para convertir el Markdown en texto enriquecido, presione CTRL + ENTERy los resultados deberían ser los siguientes:

Puede utilizar las celdas de Markdown para tomar notas y documentar su código. Para implementar esa ecuación e imprimir el resultado, haga clic en la celda superior y luego presione ALT + ENTERpara agregar una celda debajo de ella. Ingrese el siguiente código en la nueva celda.

x = 2y = x**2print(y)

Para ejecutar el código, presione CTRL + ENTER. Recibirá los siguientes resultados:

Ahora tiene la posibilidad de importar módulos y utilizar el Notebook como lo haría con cualquier otro entorno de desarrollo de Python.

Conclusión

Ahora debería poder escribir código y notas de Python reproducibles en Markdown con Jupyter Notebook. Para obtener una visita rápida a Jupyter Notebook desde la interfaz, seleccione Ayuda Visita guiada de la interfaz de usuario en el menú de navegación superior para obtener más información.

Desde aquí, puedes comenzar un proyecto de análisis y visualización de datos leyendo Análisis y visualización de datos con pandas y Jupyter Notebook en Python 3 .

Si está interesado en profundizar más, puede leer nuestra serie sobre visualización y pronóstico de series de tiempo .

SUSCRÍBETE A NUESTRO BOLETÍN 
No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio