Jupyterlab
__HTML_TAG_138_📄 Genera JupyterLab PDF Guida_HTML_TAG_139__
__HTML_TAG_140_
# JupyterLab Cheatsheet
## Installazione
_Tabella_146__
# Comandi di base
_Tabella_147__
# Kernel Management
_Tabella_148__
## Conversione di Notebook (nbconvert)
_Tabella_149__
## Gestione dell'estensione
TABELLA
## Configurazione server avanzata
_Tabella_151__
## Workspace Management
_Tabella_152__
## Configurazione
## Configurazione principale File
**Location**: `~/.jupyter/jupyter_lab_config.py` (Linux/macOS) o `%USERPROFILE%\.jupyter\jupyter_lab_config.py` (Windows)
Generare la configurazione predefinita:
Traduzione:
### Opzioni di configurazione comuni
### Elenco delle impostazioni utente
**Location**: `~/.jupyter/lab/user-settings/` (Linux/macOS) o `%APPDATA%\jupyter\lab\user-settings\` (Windows)
Esempio di impostazioni tematiche (`@jupyterlab/apputils-extension/themes.jupyterlab-settings`):
Traduzione:
### Protezione password
Quindi aggiungere a config:
Traduzione:
## Common Use Cases
### Use Case 1: Remote Server Setup
Traduzione:
### Use Case 2: Creazione di un ambiente Kernel personalizzato
Traduzione:
### Use Case 3: Batch Notebook Execution
Traduzione:
### Use Case 4: Docker Deployment with Persistent Storage
Traduzione:
### Use Case 5: Convertire Notebooks in Presentazione
Traduzione:
## Tastiera Scorciatoie (Modalità Command)
_Tabella_153__
# Migliori Pratiche
- **Utilizzare gli ambienti virtuali**: lavorare sempre all'interno di ambienti isolati (conda o venv) per gestire le dipendenze ed evitare conflitti tra i progetti.
- **Riavviamento del kernel regolare**: Riavviare i kernel periodicamente durante lunghe sessioni per cancellare la memoria e garantire la riproducibilità. Utilizzare "Riavviare Kernel ed eseguire tutte le celle" per verificare l'ordine di esecuzione del notebook.
- **Integrazione del controllo delle vibrazioni**: Conservare i notebook in Git ma utilizzare `.gitignore` per escludere i file di checkpoint (`.ipynb_checkpoints/`). Prendere in considerazione l'utilizzo `nbstripout` per rimuovere l'output prima di commettere.
- **Secure Remote Access**: Quando espongono JupyterLab da remoto, utilizzare sempre password o gettoni forti, abilitare HTTPS con certificati SSL e considerare l'utilizzo di SSH tunneling o VPN per una maggiore sicurezza.
- **Resource Management**: Configurare il kernel per liberare la memoria, specialmente su server condivisi. Impostare i valori di timeout appropriati in base alla tipica durata del flusso di lavoro.
- **Organizzazione del codice modulare**: Tenere i quaderni concentrati su analisi specifiche. Estrarre le funzioni riutilizzabili in moduli `.py`_ e importarle, piuttosto che duplicare il codice attraverso i notebook.
**Abitudini di documentazione**: Utilizzare le celle di Markdown per documentare il processo di pensiero, la metodologia e i risultati. Includere le dipendenze dell'ordine dell'esecuzione cellulare e il tempo di esecuzione previsto per le celle a lungo termine.
- Disciplina dell'estensione ** Installare solo estensioni necessarie per evitare bloat e potenziali conflitti. Aggiorna regolarmente le estensioni e ricostruisci JupyterLab dopo gli aggiornamenti.
## Risoluzione dei problemi
_Tabella_154__
## Comandi magici utili (In Notebooks)
| Magic Command | Description |
|---------------|-------------|
| __INLINE_CODE_120__ | List all available magic commands |
| __INLINE_CODE_121__ | Time execution of single statement |
| __INLINE_CODE_122__ | Time execution of entire cell |
| __INLINE_CODE_123__ | Time repeated execution for average |
| __INLINE_CODE_124__ | Display plots inline in notebook |
| __INLINE_CODE_125__ | Load external Python file into cell |
| __INLINE_CODE_126__ | Execute external Python script |
| __INLINE_CODE_127__ | Print current working directory |
| __INLINE_CODE_128__ | Change working directory |
| __INLINE_CODE_129__ | List environment variables |
| __INLINE_CODE_130__ | Install package in current kernel |
| __INLINE_CODE_131__ | Install package via conda |
| __INLINE_CODE_132__ | Execute cell as bash script |
| __INLINE_CODE_133__ | Activate interactive debugger |
| `%reset` | Cancella tutte le variabili dal namespace |
# ~/.jupyter/jupyter_lab_config.py
c = get_config()
# Server settings
c.ServerApp.ip = '0.0.0.0' # Listen on all interfaces
c.ServerApp.port = 8888 # Default port
c.ServerApp.open_browser = False # Don't open browser automatically
c.ServerApp.token = 'your-secret-token' # Authentication token
c.ServerApp.allow_remote_access = True # Enable remote access
c.ServerApp.allow_origin = '*' # Allow CORS from any origin
c.ServerApp.allow_root = False # Prevent running as root
# Directory settings
c.ServerApp.root_dir = '/path/to/notebooks' # Default working directory
c.ServerApp.preferred_dir = '/path/to/start' # Preferred starting directory
# Resource limits
c.ServerApp.iopub_data_rate_limit = 10000000 # Data rate limit (bytes/sec)
c.ServerApp.iopub_msg_rate_limit = 1000 # Message rate limit
c.ServerApp.rate_limit_window = 3.0 # Rate limit window (seconds)
# Kernel management
c.MappingKernelManager.default_kernel_name = 'python3'
c.MappingKernelManager.cull_idle_timeout = 3600 # Kill idle kernels after 1 hour
c.MappingKernelManager.cull_interval = 300 # Check for idle kernels every 5 min
c.MappingKernelManager.cull_connected = False # Don't cull connected kernels
# File management
c.ContentsManager.hide_globs = [
'__pycache__', '*.pyc', '*.pyo', '.DS_Store', '*.so', '*.dylib'
]
c.FileContentsManager.delete_to_trash = True # Use trash instead of permanent delete
# Security
c.ServerApp.disable_check_xsrf = False # Enable XSRF protection
c.ServerApp.tornado_settings = {
'headers': {
'Content-Security-Policy': "frame-ancestors 'self'"
}
}
# Logging
c.ServerApp.log_level = 'INFO' # Logging level