Cómo instalar JupyterLab en Ubuntu 24.04

JupyterLab es un entorno de desarrollo interactivo de código abierto basado en la web que amplía la experiencia clásica de Jupyter Notebook, proporcionando una interfaz más flexible y potente para la ciencia de datos y las tareas de computación científica. Es compatible con varios lenguajes de programación, con especial atención a Python, y ofrece funciones como la edición de código, la visualización de datos y la salida interactiva en un único espacio de trabajo integrado. JupyterLab permite a los usuarios crear y gestionar cuadernos, editores de texto, terminales y otros componentes personalizados en un diseño con pestañas, mejorando la productividad y la colaboración. En Ubuntu, puede instalarse fácilmente mediante gestores de paquetes como apt o a través del instalador de paquetes pip de Python, lo que lo convierte en una herramienta accesible para desarrolladores e investigadores que utilicen esta popular distribución de Linux.

En esta guía, aprenderás a instalar Jupyter en Ubuntu 24.04. Instalarás y asegurarás Jupyter con autenticación de contraseña. Luego instalarás Nginx y lo configurarás como proxy inverso.

Requisitos previos

Antes de empezar, asegúrate de que tienes los siguientes requisitos:

  • Un Ubuntu 24.04.
  • Un usuario no root con privilegios de administrador.
  • Un nombre de dominio apuntando a una dirección IP de servidor (dominio público o privado).

Instalación de dependencias

En esta sección, instalarás las dependencias para Jupyter, que incluyen Python, Pip, venv, y Node.js. Estos paquetes están disponibles por defecto en el repositorio de Ubuntu, y los instalarás a través del gestor de paquetes APT.

Para empezar, ejecuta el siguiente comando para actualizar el índice de paquetes de Ubuntu.

sudo apt update

Ahora instala Python3 y Node.js a través del repositorio de Ubuntu con lo siguiente – Introduce Y para confirmar la instalación:

sudo apt install python3-dev python3-pip python3-venv nodejs npm

instalar dependencias

Una vez finalizada la instalación, comprueba la versión de Python, Node.js y Pip con lo siguiente:

python3 -v
pip3 -v
node -v

A continuación puedes ver que Python 3.12, Node.js 18 y Pip 24 están instalados.

comprobar versión

Instalar Jupyter

Después de instalar las dependencias, instalarás Jupyter a través de Pip en el entorno virtual de Python. Ejecutarás Jupyter como usuario no root, así que asegúrate de haberlo creado.

Accede a tu usuario con el siguiente comando – En el siguiente ejemplo se utilizará el usuario alice:

su – alice

Ejecuta el siguiente comando para crear un nuevo directorio ~/Dev y moverte a él. A continuación, crea un nuevo entorno virtual Python venv.

mkdir -p ~/Dev; cd ~/Dev
python3 -v venv venv

Ahora activa el entorno virtual venv con el siguiente comando. Una vez activado, tu shell pasará a ser como (venv) user@hostname.

source venv/bin/activar

A continuación, ejecuta el siguiente comando pip3 para instalar Jupyter a través del repositorio PyPi:

pip3 install jupyter

A continuación puedes ver la instalación de jupyter a través del comando pip3:

instalación de jupyter

Una vez finalizado el proceso, comprueba la versión de Jupyter con el siguiente comando:

jupyter –version

Verás la versión de cada componente de Jupyter, como jupyterlab, jupyter_server, jupyter_client, jupyter_core, y iPython.

Configurar Jupyter

En esta sección, configurarás dos componentes principales Jupyter, que son jupyter_server y jupyterlab. Generarás la configuración y establecerás la autenticación de contraseña para ambos componentes. A continuación, ejecutarás Jupyter a través de la línea de comandos.

En primer lugar, ejecuta el siguiente comando jupyter para generar la configuración y la contraseña de jupyter_server. Introduce tu contraseña cuando se te solicite y repite la operación.

jupyter server –generate-config
jupyter server password

Puedes ver a continuación que la configuración jupyter_server se genera en ~/.jupyter/jupyter_server_config.py, y el archivo de contraseña se escribe en ~/.jupyter/jupyter_server_config.json.

generar configuración y contraseña del servidor

Comprueba la configuración de jupyter_server con el siguiente comando.

jupyter server –show-config

Y verás una salida similar a la siguiente:

mostrar configuración del servidor

A continuación, ejecuta el siguiente comando jupyter para generar la configuración de jupyterlab en ~/.jupyter/jupyter_lab_config.py. Después, comprueba la configuración de jupyterlab.

jupyter lab –generate-config
jupyter lab –show-config

En la siguiente salida, la ruta URL por defecto para jupyterlab es /lab.

geenrate jupyterlab configuración

Ahora ejecuta el siguiente comando jupyter para iniciar jupyterlab desde la línea de comandos. El jupyterlab debe ejecutarse en el puerto 8888 y la ruta URL lab.

jupyter lab –ip 0.0.0.0

ejecutar jupyter desde la línea de comandos

Visita http://server-ip:8888/lab para acceder a tu instalación jupyterlab. Verás el siguiente panel de Jupyter.

prueba jupyter

Ahora pulsa Ctrl+c y escribe yes para finalizar el proceso jupyterlab.

Ejecutar JupyterLab como servicio

En esta guía, ejecutarás Jupyter en segundo plano como un servicio. Así que ahora necesitas crear un nuevo archivo de servicio systemd para Jupyter.

Crea un nuevo archivo de servicio systemd /etc/systemd/system/jupyterlab.service con el siguiente comando del editor nano.

sudo nano /etc/systemd/system/jupyterlab.service

Introduce la siguiente configuración y asegúrate de cambiar el usuario alice por tu nombre de usuario.

[Unit]
Description=JupyterLab Service

[Service]
Type=simple
PIDFile=/run/jupyter.pid
ExecStart=/home/alice/Dev/venv/bin/jupyter lab --config=/home/alice/.jupyter/jupyter_lab_config.py
User=alice
Group=alice
WorkingDirectory=/home/alice/Dev
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

Guarda el archivo y sal del editor cuando hayas terminado.

Ahora ejecuta el siguiente comando para recargar el gestor systemd y activar tu nuevo archivo de servicio.

sudo systemctl daemon-reload

A continuación, inicia y activa el servicio jupyterlab con el siguiente comando.

sudo systemctl start jupyterlab
sudo systemctl enable jupyterlab

jupyter systemd

Por último, ejecuta el siguiente comando para comprobar el estado del servicio jupyterlab. Verás que el servicio jupyterlab se está ejecutando y está habilitado en tu sistema.

sudo systemctl status jupyterlab

comprobar el estado de jupyter

Permitir el acceso remoto a Jupyter

Antes de configurar Nginx como proxy inverso, necesitas permitir el acceso remoto en el archivo jupyterlab. Ahora modificarás el archivo ~/.jupyter/jupyter_lab_config.py y habilitarás el acceso remoto.

En primer lugar, abre la configuración jupyterlab ~/.jupyter/jupyter_lab_config.py con el siguiente editor nano.

nano ~/.jupyter/jupyter_lab_config.py

Descomenta la opción c.ServerApp.allow_remote_access y cámbiala por True. Esto habilitará el acceso remoto para jupyterlab.

c.ServerApp.allow_remote_access = True

Guarda el archivo y sal de él cuando hayas terminado.

Ahora ejecuta el siguiente comando para reiniciar el servicio jupyterlab y aplicar tus cambios. Una vez habilitado el acceso remoto en Jupyter, se generará un nuevo token para establecer una contraseña.

sudo systemctl restart jupyterlab

Echa un vistazo a la parte inferior del mensaje, y copia el token generado para Jupyter.

token jupyter

Configurar Nginx como proxy inverso

En esta sección, instalarás y configurarás Nginx como proxy inverso para tu instalación de Jupyter. Para ello, asegúrate de que tienes tu nombre de dominio, ya sea público o privado.

Instala el servidor web Nginx con el siguiente comando – Introduce Y para proceder con la instalación.

sudo apt install nginx

instalar nginx

Una vez finalizada la instalación, crea una nueva configuración de bloque del servidor Nginx /etc/nginx/sites-available/jupyterlab con el siguiente editor nano.

sudo nano /etc/nginx/sitios-disponibles/jupyterlab

Añade la siguiente configuración al archivo y asegúrate de cambiar el nombre de dominio dentro de la opción server_name.

server {
    listen 80;
    server_name lab.hwdomain.io;

    access_log /var/log/nginx/hwdomain.io.access.log;
    error_log /var/log/nginx/hwdomain.io.error.log;

    location / {
        proxy_pass http://127.0.0.1:8888;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;
        proxy_http_version 1.1;
        proxy_redirect off;
        proxy_buffering off;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_read_timeout 86400;
    }
}

Cuando hayas terminado, guarda y sal del archivo.

Ahora ejecuta el siguiente comando para activar el bloque del servidor jupyterlab y verificar tu sintaxis Nginx. Si tienes la configuración correcta, obtendrás una salida syntax is ok ... test is successful.

sudo ln -s /etc/nginx/sites-available/jupyterlab /etc/nginx/sites-enabled/
sudo nginx -t

Por último, ejecuta el siguiente comando para reiniciar Nginx y aplicar tu nueva configuración del bloque de servidores jupyterlab. Una vez ejecutado el comando, tu Jupyter se estará ejecutando bajo el proxy inverso Nginx.

sudo systemctl restart nginx

configurar proxy inverso nginx

Acceder a Jupyter

Si utilizas Linux o MacOS, edita el archivo /etc/hosts. Para usuarios de Windows, edita el archivo C:\System32\drivers\etc\hosts como administrador.

Añade la dirección IP de tu servidor y el nombre de dominio Jupyter como se indica a continuación:

192.168.5.65 lab.hwdomain.io

Guarda y sal del archivo.

Ahora abre tu navegador web y visita tu nombre de dominio Jupyter como http://lab.hwdomain.io/. Si la configuración es correcta, verás la página de inicio de sesión de Jupyter.

Desplázate hasta la parte inferior y pega el token de tu instalación de Jupyter. A continuación, introduce la nueva contraseña para Jupyter y haz clic en Log in and set new password.

iniciar sesión y cambiar contraseña

Si todo va bien, verás el panel de control de Jupyter como el siguiente – Y tu contraseña para Jupyter también ha cambiado.

salpicadero

Conclusión

¡Enhorabuena! Has completado la instalación de Jupyter en Ubuntu 24.04. Ahora tienes Jupyter funcionando con Nginx como proxy inverso y protegido con autenticación de contraseña. Si estás ejecutando Jupyter en un servidor público o VPS (Servidor Privado Virtual), debes implementar HTTPS sobre tu proxy inverso Nginx. Puedes conseguirlo mediante Certbot y Letsencrypt.

También te podría gustar...