Hai deciso di imparare il machine learning, apri il terminale pieno di entusiasmo, scrivi python… e parte una versione vecchia di tre anni. Oppure installi una libreria per un tutorial e improvvisamente un altro progetto smette di funzionare. Ti è successo? Benvenuto nel club: quasi tutti i principianti perdono le prime ore (a volte i primi giorni) non sul machine learning, ma sull’ambiente. In questo tutorial sistemiamo tutto una volta per sempre: Python 3.12, ambienti virtuali, librerie e un editor degno di questo nome. È il fondamento su cui costruiremo tutta la serie PAIthon pratico.
Quale Python (e come scoprire cosa hai già)
Se non ricordi cos’è esattamente Python, ti basta sapere che è un linguaggio interpretato: c’è un programma, l’interprete, che legge il tuo codice riga per riga e lo esegue. Il primo passo è capire quale interprete hai sul computer. Apri il terminale (su Windows: PowerShell) e digita:
# Verifica la versione installata
python --version
# Su macOS e Linux spesso il comando giusto è python3
python3 --version
Per questa serie usiamo Python 3.12: è stabile, veloce e supportato da tutte le librerie di machine learning che ci servono. Se hai una 3.10 o superiore va comunque bene; se hai qualcosa che inizia per 2, è un reperto archeologico — anni fa i corsi partivano da Python 2.7, oggi è morto e sepolto dal 2020. Scarica l’installer da python.org (su Windows spunta la casella «Add python.exe to PATH», è la fonte del 90% dei problemi dei principianti) oppure usa il gestore pacchetti del tuo sistema.
Una nota di onestà: non ti serve Anaconda. Era la scelta comoda dieci anni fa, quando installare NumPy a mano era un incubo; oggi pip installa tutto in pochi secondi e Anaconda ti porta in dote gigabyte di pacchetti che non userai mai. Partiamo leggeri.
Gli ambienti virtuali: una cassetta degli attrezzi per ogni cantiere
Ecco il concetto che, da solo, vale il prezzo del biglietto. Immagina un idraulico che lavora su tre cantieri: se portasse un’unica cassetta degli attrezzi condivisa, prima o poi la chiave inglese che serve nel cantiere A sarebbe rimasta nel cantiere B. La soluzione ovvia è una cassetta per cantiere. Un ambiente virtuale è esattamente questo: una copia isolata di Python, con le sue librerie, dedicata a un singolo progetto. Il progetto con scikit-learn 1.5 e quello con la versione 1.7 convivono felici, perché ognuno ha la sua cassetta.
Python include tutto il necessario nel modulo venv. Creiamo la cartella del progetto e l’ambiente:
# Crea la cartella del progetto ed entraci
mkdir progetto-ml
cd progetto-ml
# Crea l'ambiente virtuale nella sottocartella .venv
python -m venv .venv
# Attivalo (macOS / Linux)
source .venv/bin/activate
# Attivalo (Windows PowerShell)
# .venv\Scripts\Activate.ps1
Quando l’ambiente è attivo, il prompt del terminale mostra (.venv) all’inizio: da quel momento python e pip puntano alla cassetta del progetto, non a quella di sistema. Per uscire basta il comando deactivate. Regola d’oro: un progetto, un ambiente. Sempre. Anche per gli esperimenti di dieci righe.
uv: la corsia veloce (opzionale ma consigliata)
Negli ultimi anni è emerso uno strumento che sta diventando lo standard di fatto: uv. Fa le stesse cose di venv + pip, ma decine di volte più in fretta, e sa anche scaricarti la versione di Python che ti serve. Se vuoi provarlo:
# Installa uv (macOS / Linux)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Crea ambiente con Python 3.12 e installa le librerie in un colpo solo
uv venv --python 3.12
source .venv/bin/activate
uv pip install numpy pandas matplotlib scikit-learn jupyter
Nel resto della serie mostrerò i comandi con pip classico, che funziona ovunque: se usi uv, ti basta anteporre uv (cioè uv pip install ...). Nessuno dei due è «sbagliato» — uv è più veloce, venv+pip è già installato. Scegli e vai avanti: l’errore vero è perdere una settimana a decidere.
Le librerie del corso
Con l’ambiente attivo, installiamo il kit di sopravvivenza del machine learning. Se questi nomi non ti dicono nulla, tranquillo: li conosceremo uno per uno nei prossimi tutorial. Per ora ti basta sapere che NumPy fa i conti sui numeri, pandas gestisce le tabelle, Matplotlib disegna i grafici e scikit-learn contiene i modelli.
# Installa le librerie fondamentali della serie
pip install numpy pandas matplotlib scikit-learn jupyter
# Congela l'elenco esatto delle versioni in un file
pip freeze > requirements.txt
Quel requirements.txt è la lista degli ingredienti della tua ricetta: chiunque (compreso il te stesso del futuro, su un computer nuovo) può ricreare l’ambiente identico con pip install -r requirements.txt. Prendi l’abitudine di generarlo ogni volta che aggiungi una libreria.
Un ambiente riproducibile non è pignoleria da ingegneri: è la differenza tra «funziona sul mio computer» e «funziona».
L’IDE: l’officina dove lavorerai
Puoi scrivere Python nel Blocco Note, come puoi riparare un motore in mezzo a un prato. Ma un’officina attrezzata cambia la vita: un IDE (ambiente di sviluppo integrato) ti sottolinea gli errori mentre scrivi, completa i nomi delle funzioni e ti fa eseguire il codice con un tasto. Le due scelte sensate nel 2026:
- VS Code — gratuito, leggero, con l’estensione ufficiale «Python» (e «Jupyter» per i notebook). È quello che uso nella serie.
- PyCharm — più completo, la versione Community è gratuita. Ottimo se preferisci avere tutto già integrato senza installare estensioni.
Il passaggio cruciale, qualunque editor scegli, è dirgli quale interprete usare: deve puntare al Python dentro .venv, non a quello di sistema. In VS Code: apri la cartella del progetto, premi Ctrl+Shift+P, cerca «Python: Select Interpreter» e scegli quello con .venv nel percorso. Se salti questo passaggio, l’editor ti segnerà come «mancanti» librerie che hai appena installato — altra fonte classica di panico ingiustificato.
Il collaudo: verifichiamo che tutto funzioni
Come si collauda un’auto appena revisionata facendo un giro dell’isolato, collaudiamo il setup con uno script che tocca tutti i pezzi. Crea il file collaudo.py nella cartella del progetto:
# collaudo.py — verifica che l'ambiente sia pronto per la serie
import sys
# 1. Versione di Python: vogliamo la 3.10 o superiore
print(f"Python {sys.version_info.major}.{sys.version_info.minor}")
assert sys.version_info >= (3, 10), "Versione di Python troppo vecchia!"
# 2. Le quattro librerie fondamentali
import numpy as np
import pandas as pd
import matplotlib
import sklearn
print(f"NumPy {np.__version__}")
print(f"pandas {pd.__version__}")
print(f"Matplotlib {matplotlib.__version__}")
print(f"scikit-learn {sklearn.__version__}")
# 3. Un micro-calcolo per essere sicuri che giri davvero
media = np.array([4, 8, 15, 16, 23, 42]).mean()
print(f"Prova di calcolo: la media è {media:.1f}")
print("\nTutto pronto: l'ambiente funziona. Ci vediamo al prossimo tutorial!")
Eseguilo con python collaudo.py (o col tasto «Run» dell’editor). Se vedi le versioni e il messaggio finale, hai finito: il tuo laboratorio è operativo. Se qualcosa esplode, il colpevole è quasi sempre uno dei due sospetti già citati: ambiente non attivato, o interprete sbagliato selezionato nell’IDE.
L’anatomia di un setup sano: un solo Python di sistema, un ambiente virtuale per progetto con le sue librerie, e l’IDE che punta all’interprete dell’ambiente — non a quello globale.
Prova tu
Crea un secondo progetto, progetto-esperimenti, con il suo ambiente virtuale, e installaci solo NumPy. Poi attiva alternativamente i due ambienti e in ciascuno esegui pip list: vedrai due cassette degli attrezzi con contenuti diversi, sullo stesso computer, senza conflitti. Come bonus, prova a eseguire import pandas nel secondo ambiente e osserva l’errore: saperlo riconoscere oggi ti farà risparmiare un’ora di confusione domani.
Per approfondire: la pagina ufficiale venv — Creation of virtual environments nella documentazione Python e la documentazione di uv. Dieci minuti di lettura, anni di serenità.

I commenti sono riservati agli iscritti.
Accedi per commentare