Guía para instalar JupyterLab en Debian 12

Jupyter es una aplicación web gratuita y de código abierto para la informática interactiva y la ciencia de datos. Jupyter es compatible con todos los lenguajes de programación y proporciona múltiples programas, como JupyetrLab, que proporciona un entorno de edición multi-notebook rico en funciones y con pestañas, Notebook como autor de cuadernos ligero y simplificado, Qtconsole, y muchos más.

En esta guía, te guiaremos paso a paso por la instalación de JupyterLab en Debian 12. Instalarás JupyterLab en un entorno virtual Python, ejecutando JupyterLab como un servicio systemd, y luego instalarás y configurarás Nginx como proxy inverso para JupyterLab.

Requisitos previos

Antes de empezar, confirma que tienes lo siguiente:

  • Un servidor Debian 12.
  • Un usuario no root con privilegios de administrador.

Instalación de dependencias

Jupyter es un ecosistema de software Python gratuito y de código abierto para la computación interactiva en todos los lenguajes de programación. Para instalar Jupyter, debes asegurarte de que Python está instalado en tu sistema.

En esta sección, instalarás las dependencias de los paquetes para Jupyter, que incluyen Python3, el gestor de paquetes Pip, el entorno virtual Python venv y Node.js.

Antes de empezar, actualiza y refresca el índice de paquetes de Debian mediante el siguiente comando.

sudo apt update

actualizar repo

Ahora instala las dependencias ejecutando el siguiente comando apt install. Con esto, instalarás Python3, el gestor de paquetes Pip, la gestión del entorno virtual venv y Node .js.

sudo apt install python3 python3-pip python3-venv nodejs

Escribe y para confirmar y proceder con la instalación.

instalar deps

Una vez instaladas las dependencias, ejecuta el siguiente comando para comprobar la versión de cada dependencia, incluyendo Python3, Pip y Node.js

python3 --version
pip3 --version
node --version

El siguiente resultado muestra que Python 3.11, Pip 23 y Node.js 18.13 están instalados.

comprobar python pip node.js

Instalar Jupyter

Tras instalar las dependencias, a continuación instalarás los metapaquetes de Jupyter utilizando el entorno virtual de Python en la máquina Debian 12. Para ello, debes realizar lo siguiente:

  • Crear un entorno virtual Python
  • Instalar Jupyter
  • Configurar JupyterLab

Comencemos.

Crear un entorno virtual Python

En esta sección, crearás un nuevo entorno virtual Python que se utilizará para la instalación de Jupyter. Con este escenario, tendrás un entorno de desarrollo aislado que no afectará a todo tu sistema. Además, podrás recrearlo a medida que pase el tiempo.

Inicia sesión con tu usuario no root utilizando el siguiente comando.

su - user

Ahora crea un nuevo directorio ~/proyecto y entra en él. A continuación, crea un nuevo entorno virtual llamado venv utilizando el siguiente comando. Tras ejecutar el comando, se creará el nuevo directorio venv.

mkdir -p ~/project; cd ~/project
python3 -m venv venv

A continuación, ejecuta el siguiente comando para activar el entorno virtual venv. Una vez activado, tu intérprete de comandos será como «(venv) usuario@nombredehostel:#…».

source venv/bin/activate

crear entorno virtual python

Instalar Jupyter

Tras crear un entorno virtual Python, instalarás el paquete Jupyter mediante Pip. El paquete Jupyter es un metapaquete de los ecosistemas Jupyter, que incluye IPython, JupyterLab, Jupyter Server, Jupyter Notebook, qtconsole y muchos más.

Ejecuta el siguiente comando pip3 para instalar Jupyter en tu sistema Debian.

pip3 install jupyter

Durante la instalación, a continuación se muestra la salida que aparecerá en tu terminal:

instalar jupyter

Una vez finalizada la instalación, comprueba la ubicación del archivo binario y la versión de Jupyter mediante el siguiente comando.

which jupyter
jupyter --version

En la siguiente salida, deberías ver que el archivo binario de Jupyter se encuentra en el directorio venv. Además, deberías ver la versión del paquete Jupyter que está instalada en tu sistema.

comprobar jupyter

Configurar JupyterLab

JupyterLab es la interfaz de usuario basada en web de nueva generación para el ecosistema Jupyter. Con JupyterLab, puedes trabajar con documentos y actividades como Jupyter Notebook, editor de texto y terminal en una sola ventana. JupyterLab te ofrece una experiencia similar a la de un IDE para gestionar y desarrollar proyectos Jupyter.

En esta sección, configurarás JupyterLab para tu proyecto Jupyter. Pero antes, debes configurar primero el Servidor Jupyter para asegurar tu instalación.

Primero, ejecuta el siguiente comando para generar el archivo de configuración del Servidor Jupyter y establecer la contraseña. Introduce tu contraseña y repite la operación.

jupyter server --generate-config
jupyter server password

Tras ejecutar el comando, se generará la configuración del Servidor Jupyter en el directorio ~/.jupyter/.

jupyter seguro

Puedes verificar el contenido de la configuración del Servidor Jupyter utilizando el siguiente comando.

jupyter server --show-config

Se mostrará una salida similar a la siguiente:

configuración del servidor jupyter

A continuación, ejecuta el siguiente comando para generar una nueva configuración para JupyterLab. La configuración de JupyterLab se generará en el directorio ~/.jupyter/.

jupyter lab --generate-config

generar config jupyterlab

Una vez generada la configuración, verifica la configuración de JupyterLab mediante el siguiente comando.

jupyter lab --show-config

A continuación se muestra un ejemplo de configuración de JupyterLab:

verificar la configuración de jupyterlab

Ahora puedes ejecutar la instalación de JupyterLab utilizando el siguiente comando. Asegúrate de cambiar la dirección IP por la dirección IP de tu servidor.

jupyter lab --ip 192.168.10.15

El JupyterLab se ejecutará en la dirección IP de tu servidor con el puerto 8888 por defecto. Se puede acceder al JupyterLab a través de la ruta URL /lab.

ejecutar jupyterlab

Abre tu navegador web y visita la dirección iP de tu servidor seguida del puerto 8888 y la ruta /lab, como http://192.168.10.15:8888/lab. Introduce tu contraseña del Servidor Jupyter y haz clic en Iniciar sesión para continuar.

jupyterlab login

Si tienes la contraseña correcta, deberías ver el panel de usuario de JupyterLab como el siguiente:

tablero jupyterlab

Ahora puedes pulsar Ctrl+c dos veces para terminar el proceso de JupyterLab.

Ejecutar JupyterLab como un servicio Systemd

En el siguiente paso, crearás un nuevo archivo de servicio systemd que se utilizará para ejecutar JupyterLab. De esta forma, tu instalación de JupyterLab se ejecutará en segundo plano como un servicio systemd, y podrás gestionar JupyterLab fácilmente mediante la utilidad systemctl.

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

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

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

[Unit]
Description=JupyterLab Service
 
[Service]
Type=simple
PIDFile=/run/jupyter.pid
ExecStart=/home/bob/project/venv/bin/jupyter lab --config=/home/bob/.jupyter/jupyter_lab_config.py
User=bob
Group=bob
WorkingDirectory=/home/bob/project
Restart=always
RestartSec=10
 
[Install]
WantedBy=multi-user.target

Cuando hayas terminado, guarda y cierra el archivo.

Ahora ejecuta el siguiente comando systemctl para recargar el gestor systemd y aplicar los cambios.

sudo systemctl daemon-reload

A continuación, inicia y habilita el servicio jupyterlab mediante el siguiente comando.

sudo systemctl start jupyterlab
sudo systemctl enable jupyterlab

jupyterlab como servicio

Por último, verifica el servicio jupyterlab para asegurarte de que se está ejecutando.

sudo systemctl status jupyterlab

La siguiente salida confirma que el servicio jupyterlab se está ejecutando.

comprobación del servicio jupyterlab

Configurar Nginx como Proxy Inverso para Jupyter

En esta guía, ejecutarás JupyterLab con Nginx como proxy inverso. Para ello, debes completar lo siguiente:

  • Permitir el acceso remoto a JupyterLab
  • Instalar y configurar Nginx como proxy inverso

Permitir el acceso remoto a JupyterLab

Por defecto, la instalación de JupyterLab sólo es accesible a través de una dirección IP local. Para permitir la conexión remota, debes modificar la configuración por defecto de JupyterLab.

Abre la configuración de JupyterLab ~/.jupyter/jupyter_lab_config. py utilizando el siguiente comando del editor nano.

nano ~/.jupyter/jupyter_lab_config.py

Descomenta la opción c.ServerApp.allow_remote_access y cambia el valor a True. Esto hará que JupyterLab sea accesible desde una conexión remota, lo que incluye ejecutar JupyterLab detrás de un proxy inverso.

c.ServerApp.allow_remote_access = True

Guarda el archivo y sal del editor cuando hayas terminado.

Ahora ejecuta el siguiente comando systemctl para reiniciar el servicio jupyterlab y aplicar los cambios.

sudo systemctl restart jupyterlab

A continuación, verifica el servicio jupyterlab mediante el siguiente comando.

sudo systemctl status jupyterlab

En la salida inferior, deberías ver el token generado para acceder a tu instalación de JupyterLab, y asegúrate de copiarlo para la siguiente sección.

mostrar símbolo

Instalación y configuración de Nginx como proxy inverso

Tras permitir el acceso remoto a JupyterLab, a continuación instalarás Nginx y lo configurarás como proxy inverso para tu instalación de JupyterLab.

Instala Nginx ejecutando el siguiente comando apt install.

sudo apt install nginx -y

A continuación se muestra la salida durante la instalación de Nginx.

instalar nginx

Una vez instalado Nginx, crea una nueva configuración de bloque de servidor /etc/nginx/sites-available/jupyterlab utilizando el siguiente editor nano.

sudo nano /etc/nginx/sites-available/jupyterlab

Inserta la siguiente configuración y asegúrate de cambiar el nombre de dominio dentro de la opción server_name.

server {
    listen 80;
    server_name jupyterlab.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;
    }
}

Guarda y sal del archivo cuando hayas terminado.

Ahora ejecuta el siguiente comando para activar el archivo de bloqueo del servidor /etc/nginx/sites-available/jupyterlab y verifica la configuración de Nginx.

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

Si lasintaxis de Nginx es correcta, deberías obtener la salida«syntax is ok – test is successful«.

configurar proxy inverso nginx

Por último, ejecuta el siguiente comando systemctl para reiniciar el servicio nginx y aplicar los cambios. A continuación, verifícalo para asegurarte de que el servicio se está ejecutando.

sudo systemctl restart nginx
sudo systemctl status nginx

Si Nginx se está ejecutando, deberías obtener la salida activo (en ejecución).

Acceder a la instalación de JupyterLab a través de la máquina local

Para acceder a JupyterLab a través del nombre de dominio, puedes utilizar el archivo /etc/hosts para clientes Linux o el archivo C:\Windows\System32\drivers\etc\hosts para usuarios Windows.

Abre el archivo /etc/hosts en tu cliente Linux utilizando el editor nano.

sudo nano /etc/hosts

Introduce la siguiente configuración en el archivo y asegúrate de cambiar la dirección IP y el nombre de dominio con tu información.

192.168.10.15   jupyterlab.hwdomain.io

Guarda y sal del archivo cuando hayas terminado.

A continuación, abre tu navegador web y visita el nombre de dominio de tu instalación de JupyterLab, como http://jupyterlab.hwdomain.io. Si la instalación se ha realizado correctamente, deberías acceder a la página de inicio de sesión de JupyterLab.

En la parte inferior de la página, introduce la contraseña generada y la nueva contraseña de tu instalación de JupyterLab. A continuación, haz clic en el botón Iniciar sesión y establece una nueva contraseña.

configurar contraseña

Si todo va bien, deberías ser redirigido al panel de control de JupyterLab como el siguiente.

tablero jupyterlab

Con esto, tu instalación de JupyterLab está completa.

Conclusión

Al completar esta guía paso a paso, has completado la instalación de JupyterLab en el servidor Debian 12. Has instalado JupyterLab utilizando el entorno virtual Python, ejecutando JupyterLab en segundo plano como un servicio systemd, y configurado Nginx como proxy inverso para JupyterLab. Ahora puedes crear y gestionar tu Proyecto Jupyter.

Scroll al inicio