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
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.
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.
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
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:
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.
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/.
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:
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
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:
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.
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.
Si tienes la contraseña correcta, deberías ver el panel de usuario de JupyterLab como el siguiente:
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
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.
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.
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.
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«.
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.
Si todo va bien, deberías ser redirigido al panel de control de JupyterLab como el siguiente.
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.