Come gestire l'ambiente virtuale di Python (venv)
Come gestire l'ambiente virtuale di Python (venv)
- 0 - Introduzione
- 1 - Configurazione iniziale (Windows 11)
- 2 - Creazione dell'ambiente virtuale (.venv)
- 3 - Attivazione dell'ambiente virtuale
- 4 - Aggiornamento degli strumenti di base
- 5 - Installazione delle librerie principali
- Installa tre librerie fondamentali per lo sviluppo Python, utili in molti progetti.
- 6 - Dove trovare altre librerie
- 7 - Installazione di librerie da sorgente
- 8 - Creare il file requirements.txt
- 9 - Disinstallare tutte le librerie
- 10 - Uscire dall'ambiente virtuale
- 11 - Eliminare l'ambiente virtuale
0 - Introduzione
Questa guida ti accompagna passo dopo passo nella creazione e gestione di un ambiente virtuale Python su Windows.
Perché usare un ambiente virtuale?
- Isolamento → ogni progetto ha le sue librerie senza conflitti con altri.
- Versioni diverse → puoi usare Python e librerie differenti per progetti diversi.
- Pulizia → eviti di ingombrare il sistema con pacchetti installati globalmente.
- Riproducibilità → puoi condividere facilmente l'elenco delle dipendenze con altri sviluppatori.
Cosa imparerai
- Creare e attivare un ambiente virtuale.
- Installare, aggiornare e rimuovere librerie.
- Salvare e ripristinare le dipendenze con
requirements.txt. - Installare librerie da codice sorgente.
- Eliminare l'ambiente quando non ti serve più.
Prerequisito: Avere Python installato sul sistema (verifica con python --version nel terminale). La guida usa PowerShell integrato in Windows 11.
Struttura della guida:
- Ogni punto è indipendente ma segue un flusso logico.
- I comandi sono pronti per essere copiati e incollati.
- Ogni comando è spiegato con parametri e finalità.
Pronto? Iniziamo dal punto 1! 🚀
1 - Configurazione iniziale (Windows 11)
1. Creare la cartella "prove"
- Premi
Win + Eper aprire Esplora risorse. - Naviga dove preferisci (es. Desktop o
C:\). - Clicca con il tasto destro in uno spazio vuoto → Nuovo → Cartella → rinominala in
prove.
2. Aprire il terminale nella cartella
- Apri la cartella
prove. - Clicca con il tasto destro su uno spazio vuoto all'interno della cartella.
- Dal menu contestuale, scegli "Apri in Terminale" (apre direttamente PowerShell).
- In alternativa: tieni premuto
Maiusce clicca con il destro → seleziona "Apri finestra PowerShell qui".
Nota: Windows 11 ha integrato il Terminale come app predefinita, quindi l'opzione apre direttamente PowerShell (o il profilo che hai impostato). Se non vedi l'opzione, assicurati di avere il Terminale installato dal Microsoft Store.
2 - Creazione dell'ambiente virtuale (.venv)
python -m venv .venv
Crea una cartella .venv che contiene un ambiente Python isolato, così le librerie installate non interferiscono con il sistema .
Per aggiornare pip durante la creazione
python -m venv --upgrade-deps .venv
--upgrade-deps→ aggiorna automaticamentepipe gli altri strumenti di base all'ultima versione disponibile su PyPI, direttamente al momento della creazione dell'ambiente .
Suggerimento: Puoi usare questo parametro per saltare il passaggio di aggiornamento manuale di pip (punto 4 della guida).
3 - Attivazione dell'ambiente virtuale
.\.venv\Scripts\Activate.ps1
Attiva l'ambiente. D'ora in poi, tutti i comandi pip e python useranno le librerie e l'interprete presenti in .venv.
Nota: se compare un errore di esecuzione, esegui prima
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass.
4 - Aggiornamento degli strumenti di base
python -m pip --no-cache-dir install -U pip setuptools wheel
--no-cache-dir→ evita di usare la cache, utile per forzare il download di versioni fresh.-U(o--upgrade) → aggiorna i pacchetti all'ultima versione disponibile.- pip → gestisce l'installazione delle librerie.
- setuptools → necessario per installare pacchetti da sorgente.
- wheel → permette l'installazione di pacchetti in formato binario (più veloce).
Ecco il punto 5 arricchito con spiegazioni più dettagliate per ogni libreria:
5 - Installazione delle librerie principali
pip install --no-cache-dir numpy pillow requests
Installa tre librerie fondamentali per lo sviluppo Python, utili in molti progetti.
📦 NumPy
Calcolo scientifico e manipolazione di array/matrici.
Fornisce l'oggetto ndarray per gestire grandi quantità di dati numerici in modo efficiente.
Include funzioni matematiche avanzate (algebra lineare, trasformate di Fourier, generazione di numeri casuali).
È la base per molte altre librerie scientifiche come SciPy, Pandas e scikit-learn.
Esempio d'uso: analisi di dati, machine learning, elaborazione di segnali.
🖼️ Pillow
Elaborazione di immagini (apertura, modifica, salvataggio).
Permette di aprire, manipolare e salvare immagini in decine di formati (JPEG, PNG, GIF, BMP, TIFF, ecc.). Supporta operazioni come ridimensionamento, ritaglio, rotazione, filtri, conversione di colore e sovrapposizione. È il successore della libreria PIL (Python Imaging Library), ormai obsoleta.
Esempio d'uso: generazione di thumbnail, modifica batch di foto, preparazione di dataset per il deep learning.
🌐 Requests
Effettuare richieste HTTP in modo semplice e intuitivo.
Semplifica l'invio di richieste GET, POST, PUT, DELETE, ecc. verso API e siti web.
Gestisce automaticamente parametri URL, header, cookie, autenticazione e sessioni persistenti.
Rende il codice più leggibile rispetto al modulo urllib di base.
Esempio d'uso: interagire con API REST (es. chiamare OpenAI, GitHub, Telegram), scaricare contenuti dal web, fare web scraping.
Nota: Il parametro
--no-cache-dirforza il download diretto dei pacchetti senza usare la cache locale, utile per ottenere versioni aggiornate o risolvere problemi di installazione.
6 - Dove trovare altre librerie
PyPI (Python Package Index) è il repository ufficiale dove sono ospitate tutte le librerie Python disponibili pubblicamente.
Come cercare e installare
- Visita il sito e digita il nome della libreria che ti serve nella barra di ricerca.
- Nella pagina del pacchetto trovi:
- Descrizione → cosa fa la libreria.
- Comando di installazione → copia il comando
pip install nome-pacchetto. - Documentazione → link alla guida ufficiale per usarla.
- Versione richiesta di Python → verifica la compatibilità con la tua versione.
Consiglio:
Controlla la data dell'ultimo aggiornamento e il numero di download per capire se la libreria è attiva e affidabile.
7 - Installazione di librerie da sorgente
python setup.py build
python setup.py build
Spiegazione
build→ compila il codice sorgente (se scritto in C/C++ o richiede estensioni native), generando i file binari necessari.install→ copia i file compilati e i moduli Python nell'ambiente virtuale attivo, rendendo la libreria utilizzabile.
Quando usarlo
- La libreria non è disponibile su PyPI (o è in versione sperimentale).
- Hai scaricato il codice da GitHub per testare una feature non ancora rilasciata.
- Vuoi installare una versione modificata personalmente.
Procedura completa
-
Scarica il codice sorgente (es.
git cloneo ZIP da GitHub). -
Apri il terminale nella cartella del progetto (dove si trova
setup.py). -
Attiva l'ambiente virtuale.
-
Esegui i comandi in sequenza:
python setup.py buildpython setup.py install
Alternative moderne Installazione in modalità sviluppo (modifica il codice e vedi subito i cambiamenti):
pip install -e .
(il flag -e o --editable installa la libreria in modalità "link simbolico", utile per lo sviluppo attivo).
Nota: Il metodo
setup.pyè sempre più sostituito dapyproject.toml(standard moderno). Se il progetto usa quest'ultimo, usapip install .nella cartella del sorgente.
8 - Creare il file requirements.txt
pip freeze > requirements.txt
Spiegazione:
pip freeze→ elenca tutte le librerie installate nell'ambiente virtuale con le rispettive versioni (es.numpy==1.26.0).> requirements.txt→ redirige l'output in un file di testo, salvando l'elenco completo.
A cosa serve:
- Riproducibilità → chiunque può ricreare lo stesso ambiente con
pip install -r requirements.txt. - Condivisione → utile per team di sviluppo o deploy su server.
- Backup → puoi salvare lo stato delle dipendenze prima di aggiornamenti o modifiche.
Nota: Il file va aggiornato ogni volta che installi o rimuovi librerie, eseguendo di nuovo il comando.
9 - Disinstallare tutte le librerie
pip uninstall -y -r requirements.txt
Spiegazione:
-y(o--yes) → conferma automaticamente ogni richiesta di disinstallazione, evitando di dover rispondere "sì" per ogni pacchetto.-r requirements.txt→ legge il file e disinstalla tutti i pacchetti elencati al suo interno.
A cosa serve:
- Pulizia completa → rimuove in blocco tutte le librerie installate nell'ambiente virtuale.
- Reset dell'ambiente → utile per ripartire da zero senza ricreare il venv.
- Preparazione per nuove dipendenze → evita conflitti tra vecchie e nuove versioni.
Nota: Questo comando disinstalla solo i pacchetti elencati nel file. Se hai librerie installate manualmente (non presenti in
requirements.txt), non verranno rimosse.
Consiglio finale:
Dopo la disinstallazione, puoi verificare che l'ambiente sia pulito con:
pip list
Se non viene mostrato nulla (o solo pip e setuptools), la pulizia è riuscita.
10 - Uscire dall'ambiente virtuale
deactivate
Spiegazione:
deactivate→ termina la sessione dell'ambiente virtuale attivo.
Cosa succede:
- Il prompt del terminale passa da
(.venv) PS C:\...aPS C:\...(senza il prefisso). - La variabile
PATHtorna a usare l'interprete Python di sistema invece di quello del venv. - Tutti i comandi
pythonepipeseguiranno le versioni globali, non quelle dell'ambiente virtuale.
Quando usarlo:
- Hai finito di lavorare sul progetto.
- Devi passare a un altro ambiente virtuale o a un altro progetto.
- Vuoi eseguire comandi Python a livello di sistema.
Nota: L'ambiente rimane installato e può essere riattivato in qualsiasi momento con
.\.venv\Scripts\Activate.ps1.
11 - Eliminare l'ambiente virtuale
Remove-Item .venv -Recurse -Force
Spiegazione
Remove-Item→ comando PowerShell per eliminare file e cartelle..venv→ nome della cartella dell'ambiente virtuale da eliminare.-Recurse→ elimina ricorsivamente la cartella e tutto il suo contenuto (sottocartelle e file).-Force→ forza l'eliminazione ignorando eventuali restrizioni (es. file di sola lettura o protetti).
Attenzione:
- Irreversibile → l'eliminazione è permanente, non va nel Cestino.
- Solo se disattivato → assicurati di essere uscito dall'ambiente (
deactivate) prima di eliminarlo. - Risparmia spazio → un venv può occupare anche centinaia di MB, eliminarlo libera spazio su disco.
Quando farlo:
- Progetto completato e non ti serve più l'ambiente.
- Vuoi ricreare l'ambiente da zero con versioni aggiornate delle librerie.
- L'ambiente è corrotto e vuoi ricostruirlo pulito.
Suggerimento: Se hai dubbi, puoi prima rinominare la cartella (es.
.venv_old) e testare il progetto prima di eliminarla definitivamente.