📘 Este artículo forma parte de nuestra Guía Completa de Linux 2026 y complementa a nuestra Guía Completa de Inteligencia Artificial. Si trabajas con datos, Python o machine learning, esas guías son tu punto de partida.
Introducción
JupyterLab es el entorno de desarrollo interactivo más usado en data science, machine learning, análisis de datos y computación científica. Sucesor de Jupyter Notebook, JupyterLab ofrece una interfaz moderna con pestañas, terminal integrada, editor de código, visor de datos y extensiones.
En 2026, JupyterLab es estándar de facto en:
- Ciencia de datos (pandas, NumPy, matplotlib).
- Machine learning (scikit-learn, TensorFlow, PyTorch).
- Investigación (física, biología, economía).
- Educación (cuadernos interactivos).
- Análisis financiero.
- Automatización y scripting.
En esta guía completa vas a aprender:
- Qué es JupyterLab y por qué usarlo.
- Requisitos de sistema.
- Instalación paso a paso en Ubuntu 24.04 (varios métodos).
- Configuración de entornos virtuales.
- Acceso remoto seguro desde cualquier dispositivo.
- Extensiones imprescindibles.
- Integración con Docker.
- Optimización para ciencia de datos.
- Solución de problemas comunes.
- FAQ con las preguntas más frecuentes.
Si eres nuevo en Linux, consulta nuestra Guía Completa de Linux. Para desarrollo con IA, nuestra Guía Completa de Inteligencia Artificial.
Índice de contenidos
- Qué es JupyterLab
- Requisitos
- Instalación método 1: pip + venv (recomendado)
- Instalación método 2: Conda/Miniconda
- Instalación método 3: Sistema (apt)
- Instalación método 4: Docker
- Configuración inicial
- Acceso remoto seguro
- Extensiones imprescindibles
- Optimización para data science
- Solución de problemas
- FAQ
- Conclusión
1. Qué es JupyterLab
JupyterLab es una interfaz web interactiva para trabajar con cuadernos (notebooks), código, datos y visualizaciones. Es el sucesor de Jupyter Notebook, con una interfaz mucho más moderna y potente.
1.1 Características principales
- Cuadernos interactivos (
.ipynb). - Múltiples pestañas y paneles.
- Terminal integrada.
- Editor de código (con autocompletado).
- Visor de datos (CSV, JSON, imágenes).
- Soporte multi-lenguaje (Python, R, Julia, Scala…).
- Extensiones para todo.
- Colaboración en tiempo real (con extensiones).
- Ejecución distribuida (con JupyterHub).
1.2 JupyterLab vs Jupyter Notebook
| Aspecto | JupyterLab | Jupyter Notebook |
|---|---|---|
| Interfaz | Moderna, tipo IDE | Clásica |
| Pestañas | ✅ | ❌ |
| Terminal integrada | ✅ | ❌ |
| Editor de código | ✅ Completo | Básico |
| Extensiones | Sistema moderno | Limitado |
| Recomendación | ✅ Actual | Legacy |
Recomendación 2026: usa JupyterLab, no Jupyter Notebook.
1.3 Casos de uso
- Data science: análisis exploratorio, visualización.
- Machine learning: entrenamiento de modelos.
- Investigación: notebooks reproducibles.
- Educación: material interactivo.
- Automatización: scripts con visualización.
- Prototipado rápido.
Consulta Machine Learning: todo lo que debes saber.
2. Requisitos
2.1 Hardware
| Componente | Mínimo | Recomendado |
|---|---|---|
| CPU | Dual-core | Quad-core+ |
| RAM | 4 GB | 8-16 GB |
| Disco | 5 GB | 20-50 GB |
| GPU | ❌ | NVIDIA (para ML) |
2.2 Software
- Ubuntu 24.04 LTS (o superior).
- Python 3.10+ (3.12 recomendado).
- pip actualizado.
- Navegador moderno (Chrome, Firefox, Edge).
- Acceso SSH (para servidor).
2.3 Verificar Python
python3 --version
pip3 --versionDeberías ver Python 3.12.x y pip 24.x.
Si no tienes Python:
sudo apt update
sudo apt install -y python3 python3-pip python3-venv2.4 Actualizar pip
python3 -m pip install --upgrade pipConsulta Cómo actualizar todas las bibliotecas instaladas en Python.
3. Instalación método 1: pip + venv (recomendado)
El método más recomendado para la mayoría de usuarios: aislamiento, control total, fácil actualización.
3.1 Instalar dependencias del sistema
sudo apt update
sudo apt install -y python3 python3-pip python3-venv \
build-essential python3-dev3.2 Crear usuario dedicado (opcional, para servidores)
sudo adduser --system --shell /bin/bash --group --home /opt/jupyter jupyter
sudo usermod -aG sudo jupyter <em># si necesitas permisos</em>3.3 Crear entorno virtual
# Como usuario normal (no root)
cd ~
python3 -m venv jupyter-env
source jupyter-env/bin/activate3.4 Actualizar pip y wheel
pip install --upgrade pip wheel setuptools3.5 Instalar JupyterLab
pip install jupyterlabVerificar instalación:
jupyter lab --versionDeberías ver algo como 4.2.x.
3.6 Instalar kernel de Python (opcional pero útil)
pip install ipykernel
python3 -m ipykernel install --user --name=jupyter-env --display-name="Python (jupyter-env)"3.7 Arrancar JupyterLab
jupyter labDeberías ver:
[I 2026-10-09 12:00:00 ServerApp] Jupyter Server 2.x is running at:
[I 2026-10-09 12:00:00 ServerApp] http://localhost:8888/lab?token=abc123...Abre el navegador en la URL indicada.
3.8 Instalar paquetes de data science
pip install numpy pandas matplotlib seaborn scikit-learnPara ML avanzado:
pip install tensorflow <em># o</em>
pip install torch torchvision torchaudioPara Jupyter extras:
pip install jupyterlab-git jupyterlab-lsp3.9 Crear script de inicio
Crea ~/start-jupyter.sh:
#!/bin/bash
source ~/jupyter-env/bin/activate
jupyter labDar permisos:
chmod +x ~/start-jupyter.shArrancar:
./start-jupyter.sh3.10 Configurar como servicio systemd (servidor)
Crea /etc/systemd/system/jupyter.service:
[Unit]
Description=JupyterLab
After=network.target
[Service]
Type=simple
User=jupyter
Group=jupyter
WorkingDirectory=/opt/jupyter
Environment="PATH=/opt/jupyter/jupyter-env/bin"
ExecStart=/opt/jupyter/jupyter-env/bin/jupyter lab --no-browser --ip=127.0.0.1 --port=8888
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.targetActivar:
sudo systemctl daemon-reload
sudo systemctl enable jupyter
sudo systemctl start jupyter
sudo systemctl status jupyterVer logs:
sudo journalctl -u jupyter -f4. Instalación método 2: Conda/Miniconda
Recomendado para data science, ya que incluye muchos paquetes científicos y gestión de entornos.
4.1 Descargar Miniconda
cd /tmp
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.shO descarga Anaconda (más pesado, más paquetes):
wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh4.2 Instalar Miniconda
bash Miniconda3-latest-Linux-x86_64.shSigue el instalador:
- Acepta la licencia.
- Directorio por defecto:
~/miniconda3. - Init conda: sí.
4.3 Reiniciar shell
source ~/.bashrcO:
exec bash4.4 Crear entorno con JupyterLab
conda create -n jupyter python=3.12 jupyterlab -y
conda activate jupyter4.5 Instalar paquetes científicos
conda install -y numpy pandas matplotlib seaborn scikit-learn jupyterlab-git4.6 Arrancar JupyterLab
jupyter lab4.7 Instalar kernel de conda
python -m ipykernel install --user --name=jupyter --display-name="Python (conda jupyter)"4.8 Actualizar conda
conda update -n base -c defaults conda
conda update --all4.9 Ventajas de Conda
- Gestión de entornos robusta.
- Paquetes binarios precompilados (rápido).
- Incluye muchas librerías científicas (NumPy, SciPy, etc.).
- Multi-lenguaje (Python, R, Julia).
- Resuelve dependencias complejas.
Recomendado para:
- Data science serio.
- Machine learning.
- Trabajo con múltiples versiones de Python.
5. Instalación método 3: Sistema (apt)
Más sencillo pero menos flexible.
5.1 Instalar desde repositorios de Ubuntu
sudo apt update
sudo apt install -y jupyter-notebook⚠️ Nota: Ubuntu 24.04 incluye Jupyter Notebook (no JupyterLab) en sus repositorios. Para JupyterLab, usa pip o conda.
5.2 Alternativa: instalar JupyterLab vía pip del sistema
sudo apt install -y python3-jupyterlabO:
pip3 install --user jupyterlab5.3 Arrancar
jupyter lab5.4 Limitaciones
- Versiones antiguas (las de apt).
- Difícil de actualizar individualmente.
- Conflictos con paquetes del sistema.
- No recomendado para desarrollo serio.
Recomendación: usa pip + venv o conda.
6. Instalación método 4: Docker
Ideal para reproducibilidad y aislamiento total.
6.1 Instalar Docker
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER
newgrp dockerConsulta Qué es Docker.
6.2 Arrancar JupyterLab con la imagen oficial
docker run -d \
--name jupyter \
-p 8888:8888 \
-v $(pwd)/notebooks:/home/jovyan/work \
-e JUPYTER_ENABLE_LAB=yes \
jupyter/datascience-notebookExplicación:
-d: en background.--name: nombre del contenedor.-p 8888:8888: puerto.-v: volumen (carpeta compartida).jupyter/datascience-notebook: imagen con Python, R, Julia y paquetes científicos.
6.3 Ver el token de acceso
docker logs jupyterBusca la línea con token=....
6.4 Acceder
Abre: http://localhost:8888/lab?token=TU_TOKEN
6.5 Docker Compose
Crea docker-compose.yml:
version: '3.8'
services:
jupyter:
image: jupyter/datascience-notebook:latest
container_name: jupyter
ports:
- "8888:8888"
volumes:
- ./notebooks:/home/jovyan/work
- ./data:/home/jovyan/data
environment:
- JUPYTER_ENABLE_LAB=yes
- JUPYTER_TOKEN=tu_token_seguro
restart: unless-stoppedArrancar:
docker compose up -d6.6 Imágenes recomendadas
- jupyter/base-notebook: mínimo.
- jupyter/minimal-notebook: con más herramientas.
- jupyter/scipy-notebook: con paquetes científicos.
- jupyter/datascience-notebook: Python + R + Julia.
- jupyter/tensorflow-notebook: con TensorFlow.
- jupyter/pytorch-notebook: con PyTorch.
- jupyter/all-spark-notebook: con Spark.
6.7 Personalizar imagen
Crea Dockerfile:
FROM jupyter/datascience-notebook:latest
USER root
# Instalar paquetes adicionales
RUN apt-get update && apt-get install -y \
vim \
htop \
&& rm -rf /var/lib/apt/lists/*
USER jovyan
# Instalar paquetes Python
RUN pip install --no-cache-dir \
jupyterlab-git \
jupyterlab-lsp \
python-lsp-server[all]
WORKDIR /home/jovyan/workConstruir:
docker build -t mi-jupyter .7. Configuración inicial
7.1 Generar archivo de configuración
jupyter lab --generate-configSe crea en ~/.jupyter/jupyter_lab_config.py.
7.2 Configurar contraseña
jupyter lab passwordIntroduce la contraseña deseada.
O generar hash manualmente:
python3 -c "from jupyter_server.auth import passwd; print(passwd())"7.3 Configurar directorio de trabajo
Edita ~/.jupyter/jupyter_lab_config.py:
c.ServerApp.root_dir = '/home/usuario/notebooks'7.4 Configurar puerto
c.ServerApp.port = 88887.5 Configurar acceso remoto (cuidado)
c.ServerApp.ip = '0.0.0.0'
c.ServerApp.allow_remote_access = True⚠️ Nunca expongas JupyterLab directamente a internet sin protección.
7.6 Configurar token
c.IdentityProvider.token = 'tu_token_largo_y_aleatorio'Genera un token seguro:
openssl rand -hex 327.7 Configurar SSL
c.ServerApp.certfile = '/ruta/al/certificado.pem'
c.ServerApp.keyfile = '/ruta/a/la/clave.key'Genera certificado autofirmado:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout jupyter.key -out jupyter.pemPara certificados válidos, usa Let’s Encrypt:
sudo certbot certonly --standalone -d jupyter.tudominio.comConsulta Guía completa para configurar SSL en Nginx.
7.8 Configurar extensiones
c.LabApp.extensions_in_dev_mode = False7.9 Configurar límites de recursos
c.ServerApp.max_buffer_size = 1000000000 <em># 1 GB</em>
c.MappingKernelManager.cull_idle_timeout = 3600 <em># 1 hora</em>
c.MappingKernelManager.cull_interval = 3007.10 Configurar Jupyter Server Proxy
Para apps web dentro de Jupyter:
pip install jupyter-server-proxy8. Acceso remoto seguro
8.1 NO exponer directamente
Nunca abras el puerto 8888 a internet sin protección.
Riesgos:
- Acceso no autorizado.
- Ejecución de código arbitrario.
- Robo de datos.
- Uso malicioso.
8.2 Opción 1: Nginx como reverse proxy + SSL
Configura Nginx:
server {
listen 80;
server_name jupyter.tudominio.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name jupyter.tudominio.com;
ssl_certificate /etc/letsencrypt/live/jupyter.tudominio.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/jupyter.tudominio.com/privkey.pem;
<em># Autenticación básica adicional</em>
auth_basic "Jupyter Access";
auth_basic_user_file /etc/nginx/.htpasswd;
location / {
proxy_pass http://127.0.0.1:8888;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
client_max_body_size 500M;
}
}Crear usuario:
sudo apt install apache2-utils -y
sudo htpasswd -c /etc/nginx/.htpasswd adminActivar sitio:
sudo ln -s /etc/nginx/sites-available/jupyter /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginxSSL:
sudo certbot --nginx -d jupyter.tudominio.com8.3 Opción 2: SSH tunnel
Más seguro, sin exponer nada.
En tu máquina local:
ssh -L 8888:localhost:8888 usuario@servidor.comEn el servidor:
jupyter lab --no-browser --port=8888Accede en el navegador: http://localhost:8888
8.4 Opción 3: VPN
Recomendado para equipos.
Monta una VPN (WireGuard, Tailscale):
sudo apt install wireguardConsulta Cómo montar tu propio servidor de VPN.
Ventajas:
- Acceso a toda la red interna.
- Encriptación fuerte.
- No expones Jupyter a internet.
8.5 Opción 4: Cloudflare Tunnel
Moderna, sin abrir puertos.
# Instalar cloudflared
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb -o cloudflared.deb
sudo dpkg -i cloudflared.deb
# Autenticar
cloudflared tunnel login
# Crear túnel
cloudflared tunnel create jupyter
# Configurar
cat > ~/.cloudflared/config.yml << EOF
tunnel: jupyter
credentials-file: /root/.cloudflared/<tunnel-id>.json
ingress:
- hostname: jupyter.tudominio.com
service: http://localhost:8888
- service: http_status:404
EOF
# Arrancar
cloudflared tunnel run jupyterConsulta Zero Trust.
8.6 Opción 5: JupyterHub (multiusuario)
Para equipos.
# Instalar JupyterHub
pip install jupyterhub
sudo npm install -g configurable-http-proxy
# Generar configuración
jupyterhub --generate-config
# Arrancar
jupyterhubVentajas:
- Múltiples usuarios.
- Autenticación centralizada.
- Aislamiento por usuario.
8.7 Recomendación final
Para un usuario:
- SSH tunnel (más sencillo y seguro).
Para equipo pequeño:
- VPN (Tailscale, WireGuard).
Para equipo grande:
- JupyterHub detrás de Nginx.
Nunca:
- Exponer Jupyter directamente a internet.
9. Extensiones imprescindibles
9.1 Instalación de extensiones
pip install jupyterlab-git
pip install jupyterlab-lsp
pip install jupyterlab-code-formatter
pip install jupyterlab-system-monitor9.2 Extensiones recomendadas
jupyterlab-git:
- Integración con Git.
- Commit, push, pull desde la interfaz.
jupyterlab-lsp:
- Autocompletado avanzado.
- Diagnósticos.
- Refactoring.
jupyterlab-code-formatter:
- Formateo automático de código (black, isort).
jupyterlab-system-monitor:
- Muestra CPU, RAM, GPU.
jupyterlab-toc:
- Tabla de contenidos.
jupyterlab-drawio:
- Diagramas integrados.
jupyterlab-plotly:
- Gráficos interactivos.
jupyterlab-spreadsheet:
- Editor de CSV/Excel.
jupyterlab-variableInspector:
- Inspecciona variables en memoria.
jupyterlab-debugger:
- Debugger integrado.
9.3 Extensiones con GUI
Desde JupyterLab:
- Settings → Extension Manager.
- Busca extensiones.
- Instala.
9.4 Verificar extensiones
jupyter labextension list9.5 Actualizar extensiones
pip install --upgrade jupyterlab-git9.6 Tema oscuro
Settings → Theme → JupyterLab Dark.
O instala temas adicionales:
pip install jupyterlab-miami-nights10. Optimización para data science
10.1 Configurar memoria
En ~/.jupyter/jupyter_lab_config.py:
c.ServerApp.max_buffer_size = 1073741824 <em># 1 GB</em>
c.MappingKernelManager.cull_idle_timeout = 3600
c.MappingKernelManager.cull_interval = 30010.2 Configurar pandas
En tus notebooks:
import pandas as pd
# Mostrar más columnas
pd.set_option('display.max_columns', None)
# Mostrar más filas
pd.set_option('display.max_rows', 100)
# Ancho de columnas
pd.set_option('display.max_colwidth', 100)10.3 Configurar matplotlib
import matplotlib.pyplot as plt
%matplotlib inline
# Gráficos de alta resolución
%config InlineBackend.figure_format = 'retina'
# Tamaño por defecto
plt.rcParams['figure.figsize'] = (12, 6)10.4 Usar GPU
Verificar CUDA:
import torch
print(torch.cuda.is_available())
print(torch.cuda.get_device_name(0))Instalar PyTorch con CUDA:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121Consulta PyTorch para CUDA 12.4 y CUDA y cuDNN en Ubuntu.
10.5 Optimizar TensorFlow
import tensorflow as tf
# Verificar GPU
print(tf.config.list_physical_devices('GPU'))
# Limitar memoria GPU
gpus = tf.config.experimental.list_physical_devices('GPU')
for gpu in gpus:
tf.config.experimental.set_memory_growth(gpu, True)10.6 Jupyter + Dask (big data)
pip install "dask[complete]" distributedfrom dask.distributed import Client
client = Client(n_workers=4)10.7 Jupyter + Spark
pip install pysparkfrom pyspark.sql import SparkSession
spark = SparkSession.builder.appName("MiApp").getOrCreate()10.8 Extensiones para productividad
jupyterlab-code-formatter:
pip install black isortConfigurar:
# Settings → Code Formatter
# Formatter: black
# Autosave: true10.9 Configurar kernels adicionales
R:
conda install -c conda-forge r-irkernelJulia:
using Pkg
Pkg.add("IJulia")Ver kernels:
jupyter kernelspec list10.10 Notebooks reproducibles
- Usa versionado (jupyterlab-git).
- Fija versiones de paquetes (
requirements.txt). - Documenta celdas con markdown.
- Usa entornos virtuales por proyecto.
- Exporta a HTML/PDF.
11. Solución de problemas
11.1 «Command ‘jupyter’ not found»
Causa: Jupyter no está en el PATH.
Solución:
# Activar entorno virtual
source ~/jupyter-env/bin/activate
# O instalar de nuevo
pip install jupyterlab11.2 «Port 8888 already in use»
Causa: ya hay otro Jupyter corriendo.
Solución:
# Ver qué usa el puerto
sudo ss -tulpn | grep 8888
# Matar el proceso
kill -9 PID
# O usar otro puerto
jupyter lab --port=888911.3 «No puedo acceder desde otro dispositivo»
Causa: Jupyter solo escucha en localhost.
Solución:
jupyter lab --ip=0.0.0.0 --no-browser⚠️ Solo en red local o con protección.
11.4 «Kernel keeps dying»
Causas:
- Falta de RAM.
- Conflicto de paquetes.
- Kernel corrupto.
Solución:
# Ver logs
jupyter lab --debug
# Reinstalar kernel
pip install --force-reinstall ipykernel
# Verificar memoria
free -h11.5 «El token no funciona»
Causa: token incorrecto o expirado.
Solución:
# Ver el token actual
jupyter server list
# O configurar contraseña
jupyter lab password11.6 «Las extensiones no se cargan»
Causa: extensiones no instaladas correctamente.
Solución:
# Reinstalar
pip install --upgrade jupyterlab
# Verificar
jupyter labextension list
# En JupyterLab
# Settings → Enable Extension Manager11.7 «Jupyter consume mucha RAM»
Solución:
# Configurar cierre de kernels inactivos
c.MappingKernelManager.cull_idle_timeout = 3600
c.MappingKernelManager.cull_interval = 300
# Ver uso de RAM
jupyter lab --debug11.8 «Error: No module named X»
Causa: paquete no instalado en el entorno activo.
Solución:
# Activar entorno
source ~/jupyter-env/bin/activate
# Instalar
pip install X
# Reiniciar kernel en JupyterLab11.9 «JupyterLab no arranca como servicio»
Solución:
# Ver logs
sudo journalctl -u jupyter -n 50
# Verificar permisos
sudo ls -la /opt/jupyter/
# Corregir propietario
sudo chown -R jupyter:jupyter /opt/jupyter11.10 «Los notebooks no se guardan»
Causa: permisos o directorio.
Solución:
# Verificar permisos
ls -la ~/notebooks/
# Corregir
chmod -R 755 ~/notebooks/
chown -R $USER:$USER ~/notebooks/11.11 «SSL no funciona»
Solución:
# Verificar certificado
openssl x509 -in certificado.pem -text -noout
# Verificar configuración
cat ~/.jupyter/jupyter_lab_config.py | grep certfile11.12 «El navegador muestra ‘Connection refused'»
Causa: Jupyter no está corriendo o puerto incorrecto.
Solución:
# Verificar
jupyter server list
# Ver puertos abiertos
sudo ss -tulpn | grep jupyter11.13 «Nginx da error 502»
Causa: Jupyter no está accesible desde Nginx.
Solución:
# Verificar que Jupyter corre en localhost:8888
curl http://localhost:8888
# Verificar configuración de Nginx
sudo nginx -t
# Ver logs
sudo tail -f /var/log/nginx/error.log11.14 «Mixed content (HTTP en HTTPS)»
Causa: Jupyter genera URLs HTTP.
Solución:
En Nginx:
location / {
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect http:// https://;
<em># ...</em>
}En jupyter_lab_config.py:
c.ServerApp.base_url = '/'
c.ServerApp.trust_xheaders = True11.15 «Al actualizar Python, Jupyter deja de funcionar»
Causa: entornos virtuales rotos.
Solución:
# Recrear el entorno
rm -rf ~/jupyter-env
python3 -m venv ~/jupyter-env
source ~/jupyter-env/bin/activate
pip install jupyterlab12. FAQ
¿Qué es JupyterLab y para qué sirve?
JupyterLab es una interfaz web interactiva para trabajar con cuadernos de código, datos y visualizaciones. Sucesor de Jupyter Notebook.
Usos:
- Data science.
- Machine learning.
- Análisis de datos.
- Investigación.
- Educación.
- Prototipado.
¿Cuál es la diferencia entre JupyterLab y Jupyter Notebook?
- JupyterLab: interfaz moderna tipo IDE, pestañas, terminal integrada.
- Jupyter Notebook: interfaz clásica, más simple.
Recomendación 2026: usa JupyterLab.
¿Cómo instalo JupyterLab en Ubuntu 24.04?
Método recomendado (pip + venv):
sudo apt install python3-pip python3-venv
python3 -m venv ~/jupyter-env
source ~/jupyter-env/bin/activate
pip install jupyterlab
jupyter labAlternativa (conda):
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
conda create -n jupyter python=3.12 jupyterlab -y
conda activate jupyter
jupyter lab¿Cuánta RAM necesito para JupyterLab?
Recomendaciones:
- Mínimo: 4 GB.
- Recomendado: 8 GB.
- Ideal: 16-32 GB (para ML/data science).
¿Cómo accedo a JupyterLab desde otro dispositivo?
Opción 1: SSH tunnel (recomendado)
ssh -L 8888:localhost:8888 usuario@servidorOpción 2: Nginx + SSL
Opción 3: VPN
⚠️ Nunca expongas JupyterLab directamente a internet.
¿Cómo configuro una contraseña en JupyterLab?
jupyter lab passwordO generar hash manualmente:
python3¿Cómo instalo paquetes en JupyterLab?
Desde un notebook:
!pip install nombre_paqueteDesde terminal:
pip install nombre_paquete⚠️ Asegúrate de usar el entorno correcto.
¿Cómo instalo un kernel de Python específico?
pip install ipykernel
python3 -m ipykernel install --user --name=mi-env --display-name="Python (mi-env)"¿Cómo uso GPU en JupyterLab?
Verificar CUDA:
import torch
print(torch.cuda.is_available())Instalar PyTorch con CUDA:
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121TensorFlow:
pip install tensorflow[and-cuda]Consulta CUDA y cuDNN en Ubuntu.
¿Cómo instalo extensiones en JupyterLab?
Vía pip:
pip install jupyterlab-gitDesde JupyterLab:
Settings → Extension Manager.
Extensiones recomendadas:
- jupyterlab-git
- jupyterlab-lsp
- jupyterlab-code-formatter
- jupyterlab-system-monitor
¿Cómo comparto notebooks con otros?
Opciones:
- GitHub/GitLab (con nbviewer).
- Google Colab (gratis).
- JupyterHub (multiusuario).
- Exportar a HTML/PDF.
- Binder (nbviewer.jupyter.org).
¿Puedo usar R o Julia en JupyterLab?
Sí.
R:
conda install -c conda-forge r-irkernelJulia:
using Pkg
Pkg.add("IJulia")¿JupyterLab es gratis?
Sí, es open source y gratuito.
Costes posibles:
- Servidor (VPS o hardware).
- Ancho de banda si es público.
- Almacenamiento si es grande.
¿Cómo migro de Jupyter Notebook a JupyterLab?
Los archivos .ipynb son compatibles.
- Instala JupyterLab.
- Abre los mismos notebooks.
- Ajusta preferencias.
¿Cómo hago backup de mis notebooks?
Opciones:
- Git (recomendado).
- rsync a servidor.
- Nextcloud/Dropbox.
- Backup automático con cron.
Consulta La importancia de los backups.
¿Qué extensiones son imprescindibles?
Recomendadas:
- jupyterlab-git: control de versiones.
- jupyterlab-lsp: autocompletado.
- jupyterlab-code-formatter: formato automático.
- jupyterlab-system-monitor: recursos del sistema.
¿JupyterLab funciona en Windows?
Sí, de varias formas:
- Nativo con Python instalado.
- WSL2 (recomendado).
- Anaconda (con JupyterLab).
- Docker Desktop.
¿Cómo configuro JupyterLab para múltiples usuarios?
Usa JupyterHub.
pip install jupyterhub
sudo npm install -g configurable-http-proxy
jupyterhub --generate-config
jupyterhub¿Cómo protejo JupyterLab en producción?
Medidas:
- Nunca exponer directamente a internet.
- SSH tunnel o VPN para acceso.
- Nginx + SSL + autenticación básica.
- Firewall restrictivo.
- Contraseña robusta + token.
- Actualizaciones periódicas.
- Backups automáticos.
Consulta Guía Completa de Ciberseguridad.
¿Cuál es la diferencia entre pip install jupyterlab y conda install jupyterlab?
- pip: solo Python, depende del sistema.
- conda: gestiona binarios, incluye paquetes científicos.
Recomendación:
- Data science: conda.
- Desarrollo general: pip + venv.
¿Cómo actualizo JupyterLab?
# Con pip
pip install --upgrade jupyterlab
# Con conda
conda update jupyterlab¿Cómo desinstalo JupyterLab?
# Con pip
pip uninstall jupyterlab
# Con conda
conda remove jupyterlab
# Eliminar configuración
rm -rf ~/.jupyter¿Puedo usar JupyterLab sin conexión a internet?
Sí. JupyterLab funciona en local.
Excepto:
- Instalación inicial de paquetes.
- Extensiones que requieren internet.
¿Cómo comparto notebooks de forma segura?
Opciones:
- GitHub privado.
- JupyterHub con autenticación.
- Enlace temporal con token.
- Exportar a HTML (sin ejecución).
Nunca compartas notebooks con datos sensibles en repositorios públicos.
13. Conclusión
JupyterLab es la herramienta definitiva para data science, machine learning e investigación. Su instalación en Ubuntu 24.04 es sencilla si sigues los métodos correctos, y su configuración te permite adaptarlo a cualquier escenario, desde un portátil personal hasta un servidor multiusuario.
Puntos clave:
- JupyterLab > Jupyter Notebook.
- Método recomendado: pip + venv.
- Para data science: Conda.
- Para reproducibilidad: Docker.
- Configura: contraseña, puerto, SSL.
- Acceso remoto seguro: SSH tunnel o VPN.
- Nunca expongas directamente a internet.
- Extensiones imprescindibles: git, LSP, formatter.
- Optimiza para GPU si haces ML.
- JupyterHub para multiusuario.
Recomendación:
- Instala con pip + venv.
- Configura contraseña.
- Instala paquetes de data science.
- Añade extensiones útiles.
- Configura acceso seguro.
- Empieza a trabajar.
Si quieres profundizar:
- Guía Completa de Linux 2026
- Guía Completa de Inteligencia Artificial
- Machine Learning: todo lo que debes saber
- Cómo empezar con el aprendizaje profundo en Python
- Aprende a programar en Python desde cero
- Cómo actualizar todas las bibliotecas instaladas en Python
- Problemas comunes al instalar librerías con pip
- Cuda y cuDNN en Ubuntu
- PyTorch para CUDA 12.4
- Cómo montar tu propio servidor de VPN
- Guía completa para configurar SSL en Nginx
- Qué es Docker











Si tiene la contraseña adecuada, debería ver el panel de usuario de JupyterLab como el siguiente:

Ahora puede presionar Ctrl+c dos veces para finalizar el proceso de JupyterLab.

Por último, verifique el servicio jupyterlab para asegurarse de que se esté ejecutando.
sudo systemctl status jupyterlabEl siguiente resultado confirma que el servicio jupyterlab se está ejecutando.





Si todo va bien, debería ser redirigido al panel de JupyterLab como se muestra a continuación.

Con esto, la instalación de JupyterLab estará completa.







Pingback: CUDA y cuDNN en servidor Ubuntu 24.04
Pingback: Como entrenar un Chatbot con JSON
Pingback: Guía de Instalación y Configuración de ComfyUI en Ubuntu 24.04
Pingback: Instalar Herramientas de Hacking en Ubuntu 24.04