Preparare l’ambiente: Python, ambienti virtuali e IDE

Prima riga di codice? Non ancora. Prima costruiamo una base solida: Python 3.12, un ambiente virtuale pulito e un editor configurato bene. Mezz'ora oggi ti risparmia settimane di "ma sul mio computer funzionava".

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.

Anatomia di un setup Sistema operativo Python 3.12 installato una sola volta, a livello globale progetto-ml/ collaudo.py requirements.txt .venv/  — ambiente virtuale interprete numpy pandas matplotlib scikit-learn IDE VS Code / PyCharm usa l’interprete di .venv python -m venv .venv

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