Ambiente di lavoro#
Le procedure di inferenza statistica di questo insegnamento sono basate su calcoli che potrebbero richiedere notevoli risorse computazionali. Ci sono due approcci possibili per gestire tali attività.
Installazione Locale: Potete optare per l’installazione delle componenti necessarie direttamente sul vostro computer. Questo significa configurare Python e tutti i pacchetti richiesti in un ambiente virtuale locale. Questo approccio offre un alto livello di controllo e indipendenza dalla connessione internet durante le tue attività. Inoltre, è particolarmente consigliato per evitare eventuali problemi tecnici durante gli esami, dove la stabilità e la fluidità dell’esecuzione sono essenziali.
Utilizzo di Google Colab: Un’altra opzione è utilizzare Google Colab, una piattaforma che consente di eseguire codice Python direttamente nel browser, senza la necessità di installare software aggiuntivi sul vostro computer. Tuttavia, è importante notare che, nonostante la sua comodità e facilità d’uso, l’utilizzo di Google Colab potrebbe comportare alcune sfide durante un esame. Per esempio, potrebbe verificarsi una situazione in cui la connessione internet diventa lenta o instabile se numerosi studenti cercano di accedere contemporaneamente a Google Colab in aula, creando così possibili interruzioni e ostacoli.
Per garantire la massima efficienza e ridurre il rischio di inconvenienti tecnici durante le attività del corso, è vivamente consigliato seguire le indicazioni fornite su questa pagina web per l’installazione locale. In questo modo, avrete il controllo completo sulle vostre risorse di programmazione e sarete pronti a gestire le attività in modo fluido, indipendentemente dalla connessione internet. Questo approccio sarà particolarmente vantaggioso durante gli esami, dove la stabilità è essenziale per il successo delle vostre prestazioni.
Jupyter Notebook#
Durante il corso, faremo ampio uso dei Jupyter Notebook come principale strumento per scrivere codice e creare documenti interattivi. Questi strumenti consentono di creare documenti che integrano codice, testo esplicativo, grafici e altri elementi multimediali. L’utilizzo dei Jupyter Notebook rappresenta un eccellente modo per documentare e condividere in modo trasparente e riproducibile i processi di analisi dei dati.
I Jupyter Notebook forniscono un ambiente interattivo in cui è possibile eseguire il codice in celle, in qualsiasi ordine. Questa flessibilità permette agli utenti di esplorare e analizzare i dati in modo iterativo, migliorando la comprensione e perfezionando le analisi.
Il nome “Jupyter” deriva dalle tre principali lingue di programmazione supportate: Julia, Python e R. Tuttavia, è possibile utilizzare i Jupyter Notebook con molte altre lingue di programmazione.
I Jupyter Notebook supportano due tipi di celle:
Celle di Testo: Queste celle consentono di scrivere testo formattato utilizzando la sintassi Markdown. Questo permette agli autori di inserire del testo descrittivo, comprese immagini, formule in formato \(\LaTeX\), tabelle e altro ancora. Le celle di testo facilitano la documentazione del processo di analisi dei dati in modo chiaro e comprensibile.
Celle di Codice: Le celle di codice consentono di scrivere e eseguire codice Python. Il codice può essere eseguito facendo clic sul triangolo situato a sinistra di ogni cella. Diverse celle possono contenere istruzioni diverse e possono essere eseguite in sequenza. È importante notare che una funzione definita in una cella precedente può essere utilizzata solo se la cella precedente è stata eseguita.
I Jupyter Notebook possono essere eseguiti sia localmente sul vostro computer che su un server remoto, come Google Colab. Questa versatilità consente agli utenti di accedere ai propri notebook da qualsiasi dispositivo connesso a Internet e di condividere facilmente il proprio lavoro con altre persone. Questo è particolarmente utile durante il corso, poiché vi permetterà di lavorare in modo flessibile e di collaborare con i vostri colleghi.
Kernel nei Jupyter Notebook#
Il kernel rappresenta un elemento fondamentale all’interno dei Jupyter Notebook ed è responsabile dell’esecuzione del codice Python contenuto nelle celle di codice. Quando un utente esegue una cella, il suo contenuto viene inviato al kernel per l’esecuzione. Ciò che rende il kernel così importante è la sua capacità di mantenere lo stato delle variabili e delle funzioni Python tra le diverse celle. Questo significa che le variabili e le funzioni definite in celle precedenti possono essere utilizzate nelle celle successive. Questa interattività consente agli utenti di eseguire il codice in modo iterativo e di esplorare i dati in modo flessibile.
Quando installate Jupyter Notebook, di solito ottienete anche IPython, che è un kernel specificamente progettato per l’esecuzione di codice Python. Tuttavia, se desiderate utilizzare altri linguaggi di programmazione all’interno dei Jupyter Notebook, potrebbe essere necessario installare kernel aggiuntivi. Questo processo potrebbe comportare la configurazione di ambienti di sviluppo specifici, noti come “environments”. Questi environments servono a isolare le librerie e le dipendenze necessarie per ciascun kernel, evitando possibili conflitti tra diverse configurazioni e assicurando che il codice funzioni correttamente nel contesto desiderato.
L’utilizzo di ambienti dedicati è particolarmente vantaggioso in progetti che richiedono versioni specifiche di librerie o quando si lavora con più linguaggi di programmazione che possono avere requisiti di sistema diversi. Strumenti come conda
o virtualenv
sono comunemente utilizzati per gestire questi ambienti. Essi offrono funzionalità per la creazione, la gestione e l’attivazione di ambienti separati, ognuno con le sue configurazioni e dipendenze specifiche. In questo modo, è possibile passare agevolmente da un ambiente all’altro, garantendo che ciascun progetto o kernel abbia tutte le risorse necessarie per funzionare in modo ottimale e senza interferenze.
Configurazione Locale per Jupyter Notebook#
Per utilizzare i Jupyter notebook in un ambiente di sviluppo locale, è necessario completare due passaggi fondamentali:
Installazione di Python tramite Anaconda: Anaconda è una distribuzione che include Python e una vasta gamma di librerie utili. La sua installazione è semplice. È possibile scaricare Anaconda dal sito ufficiale. Seguite le istruzioni fornite sul sito per installarlo correttamente sul vostro computer.
Selezione di un Ambiente di Sviluppo Integrato (IDE): Un IDE è essenzialmente un “quaderno digitale” dove potete scrivere ed eseguire il vostro codice. Una scelta eccellente e gratuita è Visual Studio Code (VS Code), scaricabile da questo link. Dopo l’installazione di VS Code, è necessario aggiungere un’estensione per supportare Python. Questo si può fare accedendo alla sezione “Extensions” (riconoscibile dall’icona con quattro quadrati sovrapposti), cercando “Python”, e procedendo con l’installazione di questa estensione. Inoltre, per utilizzare i notebook Jupyter in VS Code, vi sarà richiesto di installare la libreria
ipython
. È consigliato accettare questa richiesta per completare la configurazione.
Una volta completati questi passaggi, avrete un ambiente pronto per la scrittura e l’esecuzione di codice Python sul vostro computer. VS Code offre la possibilità di scrivere codice, eseguirlo, effettuare il debugging, e molto altro.
Un aspetto cruciale da considerare è la configurazione di un ambiente virtuale dopo aver installato Python con Anaconda. Questo ambiente virtuale è uno spazio dedicato sul vostro computer dove è possibile installare e gestire le librerie Python necessarie per il corso, come quelle per l’analisi statistica. Creare un ambiente virtuale è vantaggioso perché aiuta a mantenere l’organizzazione del lavoro e previene conflitti tra diverse librerie. Le istruzioni per la configurazione di un ambiente virtuale saranno fornite successivamente.
Guida all’Installazione di Anaconda#
Anaconda è una distribuzione popolare per la programmazione in Python, particolarmente adatta per i principianti. Ecco una guida passo-passo per l’installazione:
Scaricare Anaconda:
Visitate il sito ufficiale di Anaconda: https://www.anaconda.com/.
Scegliete la versione adatta al vostro sistema operativo (Windows, macOS o Linux).
Optate per il download dell’ultima versione disponibile, che include l’ultima versione di Python.
Installare Anaconda:
Eseguite il file di installazione scaricato.
Seguite le istruzioni visualizzate, mantenendo le impostazioni predefinite, a meno che non abbiate esigenze specifiche.
Aggiungere Anaconda al ‘PATH’ del Sistema:
Durante l’installazione, vi sarà chiesto se desiderate aggiungere Anaconda al ‘PATH’ del sistema. Questo passaggio è cruciale poiché consente di utilizzare Python da qualunque parte del computer.
È consigliabile selezionare questa opzione.
Confermare l’Installazione:
Al termine dell’installazione, aprite il prompt dei comandi (Windows) o il terminale (macOS/Linux) e digitate
python --version
per verificare se l’installazione è riuscita. Se compare la versione di Python, tutto è andato a buon fine.
Anaconda include il Navigator, un’interfaccia utente grafica per gestire ambienti di sviluppo, installare librerie aggiuntive e lanciare strumenti come Jupyter Notebook, che vi permetterà di scrivere ed eseguire codice Python.
Warning
Istruzioni Specifiche per Utenti Windows:
Scaricare Anaconda:
Scaricate la versione “64-Bit Graphical Installer” dal sito di Anaconda.
Installare Anaconda:
Avviate l’installer scaricato e seguite le istruzioni visualizzate.
Durante l’installazione, selezionate “Just Me” (solo per l’utente corrente).
Mantenete il percorso di installazione predefinito.
Includere Anaconda nel ‘PATH’:
Selezionate l’opzione per aggiungere Anaconda al PATH e impostarlo come installazione di Python di default.
Verifica dell’Installazione:
Cercate “Anaconda Navigator” nel menu Start. Se si apre correttamente, l’installazione è riuscita.
Aprite “Anaconda Prompt” dal menu Start e digitate
conda --version
per confermare l’installazione diconda
.
Seguite attentamente queste istruzioni per garantire un’installazione senza problemi.
Per maggiori dettagli, consultate il tutorial su come installare Anaconda su Windows: Tutorial Installazione di Anaconda su Windows. Questo tutorial offre spiegazioni dettagliate e immagini per una guida passo-passo.
Una volta installato Anaconda, potrete utilizzare Anaconda Navigator per gestire progetti Python, installare librerie necessarie e avviare strumenti come Jupyter Notebook.
Note
Comprendere la Differenza tra Applicazione (App) e Installer:
Cos’è un’Applicazione (App)
Un’applicazione, comunemente chiamata “app”, è un software che funziona sul vostro computer o dispositivo mobile per uno scopo specifico, come navigare in internet, inviare messaggi, elaborare testi o fare calcoli. Esempi includono browser web come Google Chrome, programmi di elaborazione testi come Microsoft Word, o sistemi come Anaconda.
Cos’è un Installer
Un installer è un software che installa un’applicazione sul vostro computer. Tipicamente, quando scaricate un’applicazione da internet, scaricate in realtà l’installer. L’installer ha il compito di:
Copiare i file dell’app nella corretta cartella del computer.
Creare scorciatoie per l’app, come icone sul desktop o voci nel menu Start.
Configurare impostazioni iniziali per il corretto funzionamento dell’app.
Dopo l’Installazione
Dopo che l’installer ha completato il suo lavoro, l’applicazione sarà pronta all’uso e l’installer può essere eliminato.
Riassunto
L’applicazione è il software che userete per svolgere compiti specifici, mentre l’installer è lo strumento temporaneo per installare l’applicazione sul vostro computer. Capire questa distinzione è fondamentale nel mondo dell’informatica.
L’Ambiente Virtuale in Python#
Una volta installato Python, un passaggio cruciale è quello di configurare un “ambiente virtuale”.
Cosa è un Ambiente Virtuale?#
Immaginate un ambiente virtuale come un’area di lavoro privata sul vostro computer dove potete installare e utilizzare le librerie Python (che sono come strumenti o componenti aggiuntivi per Python) senza influenzare il resto del computer. Questo ambiente è separato dal sistema principale, quindi ciò che fate all’interno non interferisce con altri programmi.
Perché Usare un Ambiente Virtuale?#
Isolamento: Dato che Python si aggiorna spesso e le librerie cambiano, usare un ambiente virtuale significa che potete scegliere e mantenere le versioni specifiche di Python e delle librerie che funzionano meglio per il vostro progetto.
Organizzazione e Sicurezza: Mantiene il vostro computer ordinato e sicuro, poiché le modifiche fatte all’interno dell’ambiente virtuale non influenzano il resto del sistema.
Riproducibilità del Codice: Se condividete il vostro codice con altre persone, l’ambiente virtuale aiuta a garantire che funzioni anche sui loro computer come funziona sul vostro.
Come Creare un Ambiente Virtuale#
Per creare un ambiente virtuale, di solito si utilizza uno strumento chiamato conda
, che dovrebbe essere già installato se avete seguito le istruzioni per installare Anaconda.
Tip
Per imparare a creare un ambiente virtuale, potete guardare un tutorial video al seguente link. Questo video presume che abbiate già conda
sul vostro computer e vi guiderà passo dopo passo nel processo. Ricordate, è importante che Anaconda sia installato correttamente per poter utilizzare conda
.
Gestione dell’Ambiente Virtuale con Conda#
Per creare e gestire gli ambienti virtuali, in questo insegnamento useremo conda
, uno strumento incluso in Anaconda. Per seguire le istruzioni seguenti, dovete utilizzare il terminale su macOS/Linux o il Prompt dei comandi su Windows.
Warning
È di fondamentale importanza evitare l’installazione di pacchetti nell’ambiente base
di Conda. Per fare ciò, è indispensabile la creazione di un nuovo ambiente virtuale e l’attivazione di quest’ultimo prima di procedere con l’installazione di qualsiasi componente. Potrete verificare l’ambiente attivo controllando il nome visualizzato all’inizio del prompt nel vostro terminale.
Passaggi per Gestire gli Ambienti Virtuali#
Uscire dall’Ambiente Virtuale Corrente: Se siete già in un ambiente virtuale, uscitene digitando:
conda deactivate
Se ricevete un messaggio che dice che non c’è nessun ambiente da disattivare, significa che siete già pronti per il passaggio successivo.
Creare un Nuovo Ambiente Virtuale: Se volete creare un ambiente chiamato
pymc_env
, per esempio, eseguite:conda create -c conda-forge -n pymc_env "pymc==5.10.3"
Quando vi viene chiesto di procedere, digitate
y
.Attivare il Nuovo Ambiente: Ora attivate l’ambiente appena creato con:
conda activate pymc_env
Installare le Librerie Necessarie: Nel nuovo ambiente, installate le seguenti librerie:
conda install -c conda-forge jax numpyro bambi seaborn pingouin watermark -y
Per gli utenti Windows, invece di
numpyro
, installatenutpie
:conda install -c conda-forge nutpie
Aggiornare PyMC e Altre Librerie:
Per aggiornare PyMC e le altre librerie, utilizzate:
conda update --all
Comandi Utili per Gestire Ambienti e Librerie:
Per vedere l’indirizzo dell’ambiente virtuale:
conda info -e
Per rimuovere un ambiente virtuale (ad esempio
my_env
):conda env remove -n my_env
Per rimuovere una libreria dall’ambiente (ad esempio
package_name
):conda remove package_name
Lavorare con VSCode#
Una volta arrivati a questo punto, siete pronti per iniziare a lavorare su VSCode. Quando aprite un file con estensione .ipynb
, ricordate di selezionare l’ambiente virtuale che desiderate utilizzare. Potete farlo tramite la “Command Palette” (⇧⌘P), utilizzando l’istruzione Python: Select Interpreter
. In alternativa, potete fare clic sull’icona Select kernel
di VSCode, che si trova nell’angolo in alto a destra, sotto l’icona degli ingranaggi (⚙️).
![../_images/select_kernel.png](../_images/select_kernel.png)
Google Colab#
Utilizzando il link è possibile accedere a Google Colab e iniziare a scrivere codice Python direttamente dal proprio browser, senza dover effettuare alcuna installazione. Basta selezionare l’opzione “Nuovo notebook” per creare un nuovo ambiente di lavoro. Per avere un’introduzione completa sulle funzionalità di Colab, si può consultare la guida disponibile al seguente link. È possibile salvare ogni notebook nella propria cartella di Google Drive per una facile gestione e condivisione dei file.
Comandi speciali#
Nel contesto di Google Colab, è possibile aggiungere nuove librerie Python utilizzando comandi speciali che iniziano con il simbolo !
. Questi comandi sono noti come comandi “bash” e permettono di comunicare con l’ambiente di Colab in modo diverso dal normale codice Python. Questa procedura è necessaria quando si desidera installare librerie aggiuntive non preinstallate.
Ad esempio, supponiamo che si vogliano installare tre librerie specifiche: pymc
, bambi
e arviz
, che sono utili per le statistiche e l’analisi dei dati. Per eseguire questa operazione, è sufficiente digitare i seguenti comandi direttamente in Colab:
!pip install bambi
!pip install pymc
!pip install arviz
L’esecuzione di questi comandi consentirà l’installazione automatica delle librerie desiderate, oltre a eventuali dipendenze correlate come numpy
, pandas
, matplotlib
, seaborn
, scipy
e statmodels
.
Inoltre, per verificare quali librerie siano già disponibili in Google Colab, è possibile utilizzare il comando !pip freeze
. Questo comando fornirà un elenco completo di tutte le librerie già installate, permettendovi di identificare quali risorse sono già a vostra disposizione.
Google Drive#
Collegare Google Drive a Colab#
Per accedere alla propria cartella di Google Drive durante l’utilizzo di Colab, è possibile seguire i seguenti passaggi:
Dalla pagina iniziale, fare clic sull’icona a forma di cartella (Files) situata nel menu in alto a sinistra.
![../_images/colab_1.png](../_images/colab_1.png)
Si aprirà un menu con diverse opzioni.
![../_images/colab_2.png](../_images/colab_2.png)
Selezionare la terza icona tra le quattro disposte orizzontalmente. Apparirà l’istruzione “Run this cell to mount your Google Drive”. Fare clic sull’icona del triangolo contenuta in un cerchio grigio.
A questo punto, fare clic sull’icona “drive” e successivamente su “MyDrive” per accedere alle cartelle e ai file salvati sul proprio Google Drive.
È importante tenere presente che la versione gratuita del runtime di Google Colaboratory non salva le informazioni in modo permanente, il che significa che tutto il lavoro svolto verrà eliminato una volta terminata la sessione. Pertanto, è necessario reinstallare le librerie utilizzate in precedenza ogni volta che ci si connette a Colab. Al contrario, i Jupyter Notebook possono essere salvati nella propria cartella di Google Drive.
Per salvare un Jupyter Notebook su Google Drive utilizzando Colab, è possibile seguire i seguenti passaggi:
Fare clic su
File
nella barra del menu di Colab.Selezionare
Save a copy in Drive
. Di default, Colab salverà il Notebook nella cartellaColab Notebooks/.ipynb_checkpoints
con un nome simile aUntitled7.ipynb
.Dopo aver salvato il Notebook, è consigliabile rinominarlo facendo clic con il pulsante destro del mouse sul file nella cartella di Google Drive e selezionando
Rename
. In questo modo sarà possibile assegnare un nome più significativo al Notebook.Per organizzare i file, è possibile trascinare il Notebook nella cartella desiderata all’interno di Google Drive.
Seguendo questi passaggi, sarà possibile salvare e organizzare i Jupyter Notebook nella propria cartella di Google Drive, consentendo di accedervi facilmente e mantenerli in modo permanente anche dopo la sessione di Colab.
Tip
È possibile accedere a un breve tutorial video su come utilizzare Colab e come leggere i dati da un file esterno in un Notebook di Jupyter in Colab. Il video tutorial può essere trovato seguendo il link fornito.