Vai al contenuto principale

Setup di Python: la guida definitiva

In questo tutorial imparerai a configurare il tuo computer per lo sviluppo in Python e le basi per un ciclo di vita applicativo ottimale.
Aggiornato 29 set 2026  · 15 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

grafica datacamp

Per gli sviluppatori, avere la workstation configurata correttamente rende più fluida l’esperienza di sviluppo. Questo include l’installazione e la configurazione degli strumenti migliori e la predisposizione di tutte quelle facilitazioni che permetteranno allo sviluppatore di dare il massimo nel processo di creazione di un software. I data scientist non fanno eccezione: una configurazione adeguata è fondamentale per creare software di qualità, dagli strumenti di visualizzazione ai processi di ingestione. In questo tutorial spiegheremo le basi della configurazione di un computer per la Data Science, ma la guida sarà utile anche a chiunque sia interessato a sviluppare software in linguaggio Python. Andiamo!

Ambito

Python è disponibile per un’ampia varietà di sistemi operativi. Questo tutorial mostrerà alcuni esempi eseguiti su Linux Ubuntu, ma sono in gran parte validi anche per altri sistemi basati su UNIX e per macOS. Per i sistemi MS Windows ci sono anche piccole differenze che verranno menzionate quando rilevanti.

Python: il pezzo centrale

tl;dr Usa l’implementazione Python3 dal sito ufficiale

Considerare l’interprete Python come il pezzo centrale per lo sviluppo di applicazioni basate su questo linguaggio sembra scontato. Ma a questo punto potresti bloccarti cercando il miglior interprete Python da usare. Inoltre, potresti aver letto di due versioni diverse del linguaggio: scegliere la versione e l’interprete corretti è la prima decisione importante da prendere.

Python, Anaconda, Jython, WinPython, IronPython... troppi serpenti per una sola gabbia

A causa della popolarità del linguaggio, esistono molte implementazioni dell’interprete. Alcune sono subito disponibili per l’installazione sul tuo computer, mentre altre sono in fase di sviluppo iniziale e la loro installazione è consigliata solo ai rispettivi sviluppatori o ai programmatori più temerari. La wiki ufficiale di Python elenca alcuni degli interpreti disponibili, indicando le loro caratteristiche specifiche rispetto ad altre implementazioni. Come vedremo in questo tutorial, la distribuzione di Python disponibile sul sito ufficiale include tutto ciò di cui hai bisogno per iniziare a sviluppare i tuoi programmi Python senza perdere nessuna funzionalità offerta da altre implementazioni.

Python2 o Python3? Quale versione dovresti usare?

Anche se Python 3 è stato rilasciato dieci anni fa, la transizione dal precedente Python 2 alla versione più recente non è stata una passeggiata. Una delle principali ragioni del basso tasso di adozione iniziale sono state le differenze di sintassi che rendevano le librerie esistenti non disponibili per l’ultima versione. Come noterai sviluppando in Python, la disponibilità di librerie per ogni tipo di scopo è uno dei punti di forza di questo linguaggio. In questo periodo sono stati creati strumenti e librerie come 2to3 o six per colmare il divario del software esistente e facilitarne la migrazione alla versione più recente. Al momento in cui questo tutorial è scritto, la grande maggioranza delle librerie è disponibile per software compatibile con Python 3, quindi la decisione su quale versione usare è piuttosto semplice: Python 3. Inoltre, nel 2020 il ciclo di vita di Python 2 si concluderà. C’è persino chi sta pianificando una festa Celebration of Life all’evento PyCon 2020, quindi non esitare a unirti per ringraziare Python2 per ciò che ha fatto per te e per il tuo software!

Installare Python sul tuo computer

L’interprete Python è ampiamente disponibile per la maggior parte dei sistemi operativi e alcuni forniscono persino pacchetti che ne semplificano l’installazione. Su Ubuntu, Python2 e Python3 sono inclusi di default negli ambienti desktop contemporaneamente. Considera solo di modificare l’alias python che punta ancora alla versione 2 invece che alla 3, oppure di definire un alias nel tuo file ~/.bashrc se lo trovi utile. Come accennato sopra, è previsto che nei prossimi anni ci sarà una sola versione di Python installata. Il mio consiglio a questo punto è di installare la versione più recente di Python. Se hai già Python3 installato sul tuo computer, verifica che la versione sia superiore alla 3.5. Se hai una versione più vecchia, ti invito ad aggiornarla per sfruttare le funzionalità più recenti del linguaggio.

$ python --version
Python 3.5.2

Per chi usa Windows, installare l’interprete Python è altrettanto semplice. La pagina di download ufficiale fornisce un installer che ti guida nella configurazione dell’interprete con pochi clic.

Gestire le dipendenze del progetto con pip

grafica datacamp

Per lo sviluppo di base, avere installato l’interprete Python è tutto ciò che ti serve per iniziare a scrivere codice. Il bundle software di Python include l’interprete più alcune utilità pensate per semplificare la gestione delle applicazioni. Uno di questi strumenti è chiamato pip e serve per aiutarti a installare librerie di terze parti presenti su PyPI (Python Package Index) o su altri repository pubblici o privati.

Il nostro primo progetto Python: Jupyter Notebooks

Pensiamo al nostro primo progetto di Data Science: un notebook Jupyter che manipola dei dati e presenta visualizzazioni d’impatto. La prima libreria necessaria per lavorare con i notebook sarà Jupyter. Installare Jupyter sul tuo computer è semplice come segue:

$ pip install --user jupyter

Attenzione: l’opzione --user installerà la libreria solo per l’utente che la esegue. L’installazione a livello di sistema si può fare rimuovendo questa opzione, ma potrebbe richiedere privilegi elevati per essere completata. Oltre all’installazione, il comando pip consente di scaricare librerie, interrogare la configurazione corrente, aggiornare e disinstallare una libreria quando non è più necessaria. La tabella seguente elenca alcuni comandi utili per gestire le esigenze della tua applicazione:

Command Description
pip install <package> Installa un pacchetto
pip install --user <package> Installa un pacchetto per un singolo utente
pip install --upgrade <package> Aggiorna un pacchetto
pip uninstall <package> Disinstalla un pacchetto
pip download <package> Scarica un pacchetto
pip freeze Elenca i pacchetti installati
pip install -r requirements.txt Installa i pacchetti elencati nel file requirements.txt indicato
pip show <package> Mostra informazioni sul pacchetto

Torneremo sui comandi elencati sopra per gestire le dipendenze del progetto. Per ora, tieni a mente pip come il gestore delle dipendenze della tua applicazione. Ultimo ma non meno importante: è bene sapere che il comando pip installa non solo le librerie richieste ma anche le loro dipendenze, quindi non c’è bisogno di affrontare procedure di installazione complesse. pip install è la strada giusta!

Ambienti virtuali: isola le impostazioni del tuo progetto

grafica datacamp

Immagina che, mentre lavori al tuo progetto di notebook, scopri una nuova e brillante libreria che offre funzionalità che vorresti provare prima di includerla nella configurazione del progetto. Questa libreria richiede l’installazione di una versione diversa di jupyter notebooks. A questo punto hai le seguenti opzioni:

  • Installare il nuovo pacchetto senza le sue dipendenze. La libreria probabilmente non funzionerà correttamente a meno di modifiche al suo codice.
  • Installare il nuovo pacchetto con le dipendenze. Il tuo progetto attuale ne sarà influenzato, costringendoti ad aggiornare la configurazione e ad apportare modifiche per farlo funzionare come previsto.

Gli scenari descritti possono verificarsi quando lavori su due progetti contemporaneamente. Prova a pensare a situazioni più complesse in cui lavori su più di due progetti o in cui hai un insieme di applicazioni basate su Python che dipendono dalla libreria che devi installare senza modifiche. Potrebbe diventare un vero rompicapo. Fortunatamente, Python mette a disposizione un meccanismo per isolare la configurazione di un progetto dagli altri progetti o applicazioni. Questo meccanismo si chiama ambiente virtuale e, sebbene esistesse già in Python 2 insieme ad altri approcci di isolamento, è diventato un pacchetto integrato dalla versione 3.6 (ti consigliamo di installare questa versione o una più recente!). Gli interpreti Python precedenti alla 3.6 possono installare la libreria usando pip come segue:

$ pip install -U venv

Per chi usa Python2 (a meno che tu non preferisca aggiornare), la libreria si chiama virtualenv e può essere installata allo stesso modo.

$ pip install -U virtualenv

Gli sviluppatori che usano Ubuntu possono trovare virtualenv come pacchetto di sistema installabile con apt-get come segue:

$ sudo apt-get install python3-venv

Creare un nuovo ambiente virtuale è semplice. Da riga di comando, digita il seguente comando per creare un nuovo ambiente virtuale nella directory new_venv.

$ python -m venv new_venv

Come raccomandazione, prova a eseguire il comando sopra dalla directory del tuo workspace. In questo modo avrai una directory autonoma con il tuo codice sorgente e l’ambiente virtuale in cui verranno archiviate le librerie richieste dalla tua applicazione. Una volta creato l’ambiente virtuale, puoi iniziare a lavorare in modalità isolata caricando lo script activate dentro new_venv/bin/activate.

source new_venv/bin/activate
(new_venv) $ ...

Gli utenti Windows devono eseguire lo script activate installato nella directory Scripts.

new_venv/Scripts/activate
(new_venv) $ ...

Nota che, una volta caricato l’ambiente virtuale, il prompt della shell cambierà mostrando il nome dell’ambiente tra parentesi. A colpo d’occhio, l’ambiente virtuale contiene i seguenti elementi:

  • Un interprete python: lo stesso usato per creare l’ambiente virtuale. Nota che, a meno che tu non modifichi l’alias python, dovrai usare esplicitamente python3 o persino python3.6 se hai più di un’installazione di Python3.
  • Il gestore pacchetti Pip. Il gestore installerà tutte le librerie nella directory lib/pythonX.Y/site/packages. L’interprete python userà questa directory per risolvere le dipendenze.
  • Script di attivazione/disattivazione. Aiuta a caricare l’ambiente di progetto e a tornare alla configurazione predefinita quando non serve più. Con l’ambiente virtuale caricato correttamente, puoi installare qualsiasi libreria come segue:
$ pip install requests

Questo comando installerà la libreria requests all’interno dell’ambiente virtuale e potrà essere caricata dall’interprete python presente nella cartella bin della directory dell’ambiente virtuale. Nota che non sono stati richiesti privilegi elevati per installare la libreria. Puoi verificare l’installazione usando il comando pip show (pip show requests), che fornirà dettagli sulla libreria installata. Infine, quando smetti di lavorare su un progetto, puoi disattivare l’ambiente virtuale eseguendo il comando deactivate.

(new_venv) $ deactivate
$

Semplice, potente, utilissimo. Ecco a cosa servono gli ambienti virtuali! :D

TIP: La posizione in cui vengono installati i pacchetti può essere verificata tramite la variabile sys.prefix. Prova a eseguirla in un ambiente caricato e anche in una configurazione predefinita.

>>> import sys
>>> print(sys.prefix)

Project scaffolding: facile facile con Cookiecutter!

grafica datacamp

Tu, come molti di noi, hai iniziato a sviluppare applicazioni Python con un semplice script (probabilmente il classico Hello World). Quindi, pensando a qualcosa di simile, insieme ai concetti spiegati sopra, arriviamo alla seguente struttura del workspace:

  • Una directory contenente il nostro workspace, che include
  • Una directory per l’ambiente virtuale e
  • Un semplice script con la tua applicazione Hello World.

Anche se i progetti Python non richiedono una struttura specifica del workspace, è consigliabile organizzare il codice insieme alla relativa suite di test e a eventuali altri script o file di configurazione che ti aiuteranno a lavorare lungo l’intero ciclo di vita dello sviluppo. Nell’approccio più semplice, un workspace Python potrebbe essere così:

$ tree -L 1
.
├── requirements.txt     ---> File delle dipendenze del progetto
├── src                  ---> Il codice sorgente va qui
├── tests                ---> Il codice dei test va qui
└── venv                 ---> File dell’ambiente virtuale

Abbiamo già parlato del file requirements.txt nella sezione su pip. Questo file conterrà le dipendenze del progetto, che possono essere salvate usando il comando pip freeze. Le directory src e tests conterranno la logica applicativa e i relativi test. E la directory venv (di solito si chiama così) memorizza la configurazione dell’ambiente virtuale.

Creare lo scaffolding di progetto nel modo più semplice: Cookiecutter

Anche se l’approccio presentato sopra può bastare, man mano che crescono le tue competenze di sviluppo potresti voler adottare uno scaffolding più evoluto che includa più strumenti per semplificare il processo di sviluppo. Creare manualmente scaffolding per Python può essere tedioso. Un’opzione migliore è mantenere una copia di un progetto di riferimento e sostituire alcuni dei suoi contenuti dopo averlo copiato per impostare un nuovo progetto. Anche se può funzionare, questa opzione è soggetta a errori e può portare a scenari inconsistenti se dimentichi di configurare correttamente qualche risorsa. I nuovi progetti possono essere impostati facilmente usando lo strumento cookiecutter. Questo strumento prende in input un template di progetto e ne salva una copia dopo aver sostituito nomi di file e contenuti con una serie di parametri di input richiesti all’utente. Lo strumento è implementato in Python e può essere installato come libreria pip.

$ pip install -U cookiecutter

Ricorda, l’opzione -U installerà lo strumento nel tuo spazio utente. Puoi ometterla, ma dovrai installarlo come root (o come utente sudoer). Questo strumento è disponibile anche per gli utenti Ubuntu come pacchetto installabile con apt-get

$ sudo apt-get install cookiecutter

Nell’uso più semplice, lo strumento cookiecutter può essere invocato così:

$ cookiecutter <TEMPLATE_LOCATION>

La posizione dei template di input può essere locale oppure indicata come URL GIT. Quest’ultima opzione è comoda per sviluppatori e organizzazioni interessati a mantenere ed evolvere i template del proprio workspace di progetto.

Per capire come funziona cookiecutter, dai un’occhiata a un progetto cookiecutter di esempio. Il file principale di questo e di qualsiasi altro progetto cookiecutter si chiama cookiecutter.json e contiene l’insieme di valori che l’utente deve specificare per creare il workspace del progetto. Questo file è scritto in formato JSON e include un dizionario di coppie chiave-valore, dove i valori rappresentano i predefiniti nel caso in cui l’utente salti uno degli input.

{
    "full_name": "Steven Loria",
    "email": "sloria1@gmail.com",
    "github_username": "sloria",
    "project_name": "My Flask App",
    "app_name": "myflaskapp",
    "project_short_description": "A flasky app.",
    "use_pipenv": ["no", "yes"]
}

A partire dai valori in input, cookiecutter sostituirà, nel template, i nomi di file e directory che contengono le doppie parentesi {{...}}.

Per chi è interessato a creare i propri archetipi, è un’ottima idea iniziare da un progetto cookiecutter e inserirvi tutto ciò che ritieni utile per sviluppare applicazioni. Per chi non vede l’ora di iniziare un nuovo progetto, esistono molti progetti cookiecutter disponibili e pronti per essere istanziati. Cerchi un cookiecutter che soddisfi le tue esigenze? Prova a cercarne uno con questo motore di ricerca per cookiecutter! Un’ulteriore buona notizia: questo strumento non è pensato solo per gli scaffold di progetti Python, ma è generico per qualsiasi altro tipo di progetto!

Mettere tutto insieme: il ciclo di vita di sviluppo di un progetto

Una volta introdotti i concetti di gestione dei pacchetti, ambiente virtuale e project scaffolding, possiamo metterli insieme e spiegare come puoi lavorare configurando il tuo computer dopo aver seguito questo tutorial:

  1. Usa Python3 come interprete. Ancora meglio se inizi a usare Python 3.6.
  2. Crea un nuovo progetto, dove verranno archiviati i tuoi moduli Python e le dipendenze.
    • Crea un nuovo progetto facilmente usando cookiecutter insieme a un template di riferimento a tua scelta.
  3. Crea un nuovo ambiente virtuale dentro la cartella dell’applicazione e attivalo quando sei pronto a scrivere il codice.
  4. Scrivi la migliore app della tua vita e usa librerie di terze parti se necessario.
    • Non dimenticare di dichiarare le dipendenze in un file requirements.txt usando il comando pip freeze.
  5. [Opzionale] Carica il tuo progetto su un sistema CVS come Git. Ma non caricare i contenuti dell’ambiente virtuale. Puoi ricrearlo in qualsiasi momento come spiegato qui sotto.

Una volta salvati il codice e il file delle dipendenze, puoi ricreare facilmente la struttura del progetto come segue:

  1. Copia il codice e il file delle dipendenze in una cartella di workspace (gli utenti Git possono clonare il repository).
  2. Crea un nuovo ambiente virtuale dentro la cartella dell’applicazione e attivalo per installare le dipendenze dell’applicazione.
  3. Installa le dipendenze usando pip install -r requirements.txt.
  4. Lavora a miglioramenti o correzioni nei tuoi progetti. Non dimenticare di specificare le nuove dipendenze nel file requirements usando pip freeze.

Un’ultima cosa prima di concludere questo tutorial. Anche se non abbiamo menzionato nessuno degli IDE disponibili per scrivere codice in Python, sei libero di scegliere il tuo preferito e personalizzarlo in base alle tue esigenze.

Buon coding in Python!

Se vuoi saperne di più su Python, segui il corso gratuito di DataCamp Intro to Python for Data Science.

Argomenti
Python
Data Science

Corsi di Python

Corso

Introduzione a Python

4 ore
7.1M
Impara le basi dell’analisi dei dati con Python in sole 4 ore. Questo corso online ti introduce all’interfaccia di Python e ai pacchetti più usati.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

Mostra AltroMostra Altro