Introduzione
Jupyter Notebook offre una shell di comando per l’informatica interattiva come applicazione web. Lo strumento può essere utilizzato con diversi linguaggi, tra cui Python, Julia, R, Haskell e Ruby. È spesso utilizzato per lavorare con dati, modellazione statistica e apprendimento automatico.
Questo tutorial ti guiderà nella configurazione di Jupyter Notebook per l’esecuzione sia in locale che da un server Ubuntu 22.04, oltre a insegnarti come connetterti e utilizzare il notebook. I notebook Jupyter (o semplicemente notebook) sono documenti prodotti dall’applicazione Jupyter Notebook che contengono sia codice informatico che elementi di testo formattato (paragrafi, equazioni, figure, collegamenti, ecc.) che aiutano nella presentazione e condivisione della ricerca riproducibile.
Alla fine di questa guida, sarai in grado di eseguire il codice Python 3 utilizzando Jupyter Notebook in esecuzione su una macchina locale o un server remoto.
Prerequisiti
Per seguire questo tutorial, avrai bisogno di un ambiente di programmazione Python 3 e del modulo Python venv
, sia
- sulla tua macchina locale, o
- su un server Ubuntu.
Tutti i comandi in questo tutorial devono essere eseguiti come utente non root. Se l’accesso di root è richiesto per il comando, sarà preceduto da sudo
. La configurazione iniziale del server con Ubuntu 22.04 spiega come aggiungere utenti e concedere loro l’accesso sudo.
Passaggio 1 — Installazione di Jupyter Notebook
In questa sezione installeremo Jupyter Notebook con pip
.
Attiva l’ambiente di programmazione Python 3 in cui desideri installare Jupyter Notebook. Nel nostro esempio, lo installeremo in my_env
, quindi ci assicureremo di essere nella directory di quell’ambiente e lo attiveremo così:
Successivamente, possiamo assicurarci che pip
sia aggiornato alla versione più recente:
Ora possiamo installare Jupyter Notebook con il seguente comando:
A questo punto Jupyter Notebook è installato nell’ambiente di programmazione corrente.
Il prossimo passaggio opzionale è per coloro che si connettono a un’installazione del server dell’interfaccia web usando l’inoltro SSH.
Passaggio 2 (Opzionale) — Utilizzo del Tunneling SSH per Collegarsi a un’Installazione del Server
Se hai installato Jupyter Notebook su un server remoto, dovrai connetterti all’interfaccia web di Jupyter Notebook utilizzando il tunneling SSH. Jupyter Notebook esegue la sua interfaccia del browser su una porta specifica sul tuo server remoto (come :8888
, :8889
ecc.), che non è esposta alla rete più ampia per impostazione predefinita. Il tunneling SSH ti consente di connetterti in modo sicuro alle porte del server remoto, alle quali puoi quindi accedere utilizzando un browser web locale.
Nota che queste istruzioni sono progettate per essere eseguite da una finestra del terminale locale, cioè non quella con cui ti sei connesso al server.
Tunneling SSH
Se stai utilizzando Windows, dovrai installare una versione di OpenSSH per poter eseguire ssh
da un terminale. Se preferisci lavorare in PowerShell, puoi seguire la documentazione di Microsoft per aggiungere OpenSSH a PowerShell. Se preferisci avere a disposizione un ambiente Linux completo, puoi configurare WSL, il Sottosistema Windows per Linux, che includerà ssh
per impostazione predefinita. Infine, come terza opzione leggera, puoi installare Git for Windows, che fornisce un ambiente terminale bash nativo per Windows che include il comando ssh
. Ognuno di questi è ben supportato e la tua scelta dipenderà dalle preferenze.
Se stai utilizzando un Mac o Linux, avrai già il comando ssh
disponibile nel tuo terminale.
I passaggi per creare un tunnel SSH sono simili alla guida Come collegarsi a Droplets con SSH eccetto che sono aggiunti parametri aggiuntivi nel comando ssh
. Questa sottosezione illustrerà i parametri aggiuntivi necessari nel comando ssh
per creare un tunnel con successo.
Il tunneling SSH può essere fatto eseguendo il seguente comando SSH in una nuova finestra terminale locale:
Il comando ssh
apre una connessione SSH, ma -L
specifica che la porta fornita sull’host locale (cliente) deve essere inoltrata all’host e alla porta specificati sul lato remoto (server). Ciò significa che qualsiasi cosa sia in esecuzione sulla seconda porta (ad esempio 8888
) sul server apparirà sulla prima porta (ad esempio 8888
) sul tuo computer locale.
Se ricevi un messaggio che la porta 8888
non è disponibile, puoi cambiarla con un’altra porta arbitraria inferiore a 65535. La porta 8888 non ha un significato significativo ma è spesso utilizzata per dimostrazioni come questa.
server_username
è il tuo nome utente (ad esempio sammy) sul server che hai creato e your_server_ip
è l’indirizzo IP del tuo server.
Ad esempio, per il nome utente sammy
e l’indirizzo del server your_server_ip
, il comando sarebbe:
Se non viene visualizzato alcun errore dopo l’esecuzione del comando ssh -L
, puoi passare al tuo ambiente di programmazione e avviare Jupyter Notebook:
Riceverai un output con un URL. Da un browser web sul tuo computer locale, apri l’interfaccia web di Jupyter Notebook con l’URL che inizia con http://localhost:8888
. Assicurati che il numero del token sia incluso, o inserisci la stringa del numero del token quando richiesto su http://localhost:8888
.
Passaggio 3 — Esecuzione di Jupyter Notebook
Con Jupyter Notebook installato, puoi eseguirlo nel tuo terminale. Per farlo, esegui il seguente comando:
A log of the activities of the Jupyter Notebook will be printed to the terminal. When you run Jupyter Notebook, it runs on a specific port number. The first notebook you are running will usually run on port 8888
. To check the specific port number Jupyter Notebook is running on, refer to the output of the command used to start it:
Output[I NotebookApp] Serving notebooks from local directory: /home/sammy
[I NotebookApp] 0 active kernels
[I NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
[I NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
...
Se stai eseguendo Jupyter Notebook su un computer locale (non su un server), il tuo browser predefinito dovrebbe aver aperto l’app web di Jupyter Notebook. Se non lo ha fatto, o se hai chiuso la finestra, puoi navigare all’URL fornito nell’output, o navigare su localhost:8888
per connetterti.
Ogni volta che desideri interrompere il processo di Jupyter Notebook, premi Ctrl+C
, digita Y
quando richiesto, e poi premi Invio
per confermare.
Riceverai il seguente output:
Output[C 12:32:23.792 NotebookApp] Shutdown confirmed
[I 12:32:23.794 NotebookApp] Shutting down kernels
Jupyter Notebook non è più in esecuzione.
Passaggio 4 — Utilizzo di Jupyter Notebook
Questa sezione illustra i concetti di base per utilizzare Jupyter Notebook. Se attualmente non hai Jupyter Notebook in esecuzione, avvialo con il comando jupyter notebook
.
Dovresti ora essere connesso ad esso utilizzando un browser web. Jupyter Notebook è molto potente e ha molte funzionalità. Questa sezione illustrerà alcune delle funzionalità di base per iniziare ad utilizzare il notebook. Jupyter Notebook mostrerà tutti i file e le cartelle nella directory da cui viene eseguito, quindi quando stai lavorando su un progetto assicurati di avviarlo dalla directory del progetto.
Per creare un nuovo file di notebook, seleziona Nuovo > Python 3 dal menu a discesa in alto a destra:
Questo aprirà un notebook. Possiamo ora eseguire codice Python nella cella o cambiare la cella in markdown. Ad esempio, cambia la prima cella per accettare Markdown cliccando su Cella > Tipo di cella > Markdown dalla barra di navigazione superiore. Ora possiamo scrivere note utilizzando Markdown e includere anche equazioni scritte in LaTeX mettendole tra i simboli $$
. Ad esempio, digita quanto segue nella cella dopo averla cambiata in markdown:
# Equazione Semplice
Let us now implement the following equation:
$$ y = x^2$$
where $x = 2$
Per trasformare il markdown in testo formattato, premi Ctrl+Invio
, e dovrebbero essere visualizzati i seguenti risultati:
Puoi utilizzare le celle di markdown per prendere appunti e documentare il tuo codice. Implementiamo ora quella semplice equazione e stampiamo il risultato. Clicca sulla cella superiore, poi premi Alt+Invio
per aggiungere una cella sotto di essa. Inserisci il seguente codice nella nuova cella.
Per eseguire il codice, premi Ctrl+Invio
. Riceverai i seguenti risultati:
Ora hai la capacità di importare moduli e utilizzare il notebook come faresti con qualsiasi altro ambiente di sviluppo Python!
Per spegnere il server del notebook Jupyter dal lato server, torna alla finestra del terminale da cui lo hai avviato e premi Ctrl+C. Questo è un metodo standard per terminare i processi del terminale e Jupyter ti chiederà di salvare prima di uscire.
Conclusione
Congratulazioni! Ora dovresti essere in grado di scrivere codice Python riproducibile e appunti in Markdown utilizzando Jupyter Notebook. Per fare un breve tour di Jupyter Notebook dall’interfaccia, seleziona Aiuto > Tour dell’interfaccia utente dal menu di navigazione in alto per saperne di più.
A partire da qui, potresti essere interessato a leggere la nostra serie su Visualizzazione e previsione delle serie temporali.
Source:
https://www.digitalocean.com/community/tutorials/how-to-set-up-jupyter-notebook-for-python-3