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
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.
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
:
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
.
Comprueba la configuración de jupyter_server
con el siguiente comando.
jupyter server –show-config
Y verás una salida similar a la siguiente:
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
.
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
Visita http://server-ip:8888/lab para acceder a tu instalación jupyterlab
. Verás el siguiente panel de 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
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
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.
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
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
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
.
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.
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.