Cheat Sheet: Gestione Ambiente Python (venv)
1. Creazione dell’ambiente
Si consiglia di chiamare la cartella dell’ambiente .venv (nascosta) per mantenere pulita la root del progetto.
# Installa il modulo venv se non presente (su Ubuntu)
sudo apt install -y python3-venv
# Crea l'ambiente virtuale
python3 -m venv .venv
2. Attivazione e Disattivazione
L’attivazione “aggancia” la sessione corrente del terminale all’ambiente isolato.
# Attiva l'ambiente (Linux/macOS)
source .venv/bin/activate
# Attiva l'ambiente (Windows PowerShell)
# .venv\Scripts\Activate.ps1
# Disattiva l'ambiente e torna all'ambiente di sistema
deactivate
3. Gestione dei Moduli (pip)
Una volta attivato l’ambiente, si utilizza pip per gestire le librerie.
# Aggiorna pip alla versione più recente (consigliato sempre)
pip install --upgrade pip
# Installa un modulo (es. FastAPI)
pip install fastapi
# Installa una versione specifica
pip install fastapi==0.115.0
# Aggiorna un modulo esistente
pip install --upgrade fastapi
# Disinstalla un modulo
pip uninstall fastapi
4. Gestione dei Requirements
Il file requirements.txt è lo standard per condividere le dipendenze del progetto.
# Genera il file con tutte le librerie installate e le relative versioni
pip freeze > requirements.txt
# Installa tutte le dipendenze da un file esistente (clone di un progetto)
pip install -r requirements.txt
5. Pulizia e Rimozione
Poiché l’ambiente virtuale è contenuto in una cartella, la sua eliminazione è immediata.
# 1. Esci dall'ambiente se attivo
deactivate
# 2. Rimuovi fisicamente la cartella
rm -rf .venv
Best Practices del Senior Engineer
- Git Ignore: Non includere mai la cartella
.venvnel repository Git. Aggiungi.venv/al file.gitignore. - Uno per Progetto: Crea sempre un ambiente virtuale nuovo per ogni progetto, anche se le librerie sembrano le stesse.
- Pip Freeze: Esegui
pip freeze > requirements.txtogni volta che installi o aggiorni una libreria significativa, così i tuoi colleghi (o il server di produzione) avranno sempre l’ambiente sincronizzato. - Verifica: Se hai dubbi su quale ambiente stai usando, digita
which python. Deve restituire il percorso interno alla cartella.venv.