Ambienti virtuali Python: venv e isolamento delle dipendenze

Padroneggia gli ambienti virtuali Python. Scopri come creare, attivare e gestire le dipendenze con venv e pip in modo sicuro.

Prova nell'editor

Panoramica

Quando lavori su più progetti Python, ti imbatterai inevitabilmente in conflitti di dipendenze. Il progetto A potrebbe richiedereDjangoversione 3.2, mentre il progetto B richiedeDjangoversione 5.0. Se installi questi pacchetti a livello globale, si sovrascriveranno a vicenda, interrompendo una delle tue applicazioni. Gli ambienti virtuali risolvono questo problema critico creando directory isolate e specifiche del progetto contenenti le proprie installazioni di binari e librerie Python.

Python fornisce il supporto integrato per gli ambienti virtuali tramite il modulo `venv`. Quando crei un ambiente virtuale, viene generata una nuova cartella contenente una copia dell'interprete Python, insieme agli script per regolare l'ambiente della shell. Una volta attivato, tutti i pacchetti installati utilizzando "pip" vengono instradati direttamente a questa cartella isolata, lasciando l'installazione globale di Python pulita e non influenzata dalle librerie specifiche del progetto.

La gestione degli ambienti virtuali prevede tre comandi principali. Innanzitutto, "python -m venv venv" crea la directory dell'ambiente virtuale denominata "venv". Successivamente, attivi l'ambiente (`source venv/bin/activate` su macOS/Linux o `venv\Scripts\activate` su Windows). Infine, congeli le tue dipendenze utilizzando `pip freeze > require.txt`, creando un elenco che altri sviluppatori possono utilizzare per ricreare l'ambiente esatto. Comprendere gli ambienti virtuali è una best practice non negoziabile per la moderna ingegneria Python.

Codice e output di esecuzione

Un mockup che mostra i comandi per creare, attivare e generare i requisiti del pacchetto.

venv_management.py
Prova nell'editor
# This script prints the commands used to configure a virtual environment
commands = [
    "python -m venv my_env       # Create environment",
    "source my_env/bin/activate  # Activate environment (Mac/Linux)",
    "pip install requests        # Install isolated package",
    "pip freeze > requirements.txt # Export dependency catalog"
]

print("--- Virtual Environment Lifecycle ---")
for index, cmd in enumerate(commands, 1):
    print(f"Step {index}: {cmd}")
Uscita terminale
--- Virtual Environment Lifecycle ---
Step 1: python -m venv my_env       # Create environment
Step 2: source my_env/bin/activate  # Activate environment (Mac/Linux)
Step 3: pip install requests        # Install isolated package
Step 4: pip freeze > requirements.txt # Export dependency catalog

Implementazione passo dopo passo

  • Isolare i progetti dell'area di lavoro per evitare la sovrapposizione delle dipendenze
  • Configurazione di ambienti prevedibili per i contenitori Docker
  • Spedizione di basi di codici riproducibili con elenchi di requisiti.txt

Domande frequenti

Quali cartelle dovrei ignorare in un progetto Python?

Dovresti sempre aggiungere la directory dell'ambiente virtuale (solitamente 'venv/' o '.venv/') al tuo file .gitignore. Non controllare mai le dipendenze delle librerie esterne in git.

Come faccio a disattivare un ambiente virtuale?

Basta digitare il comando "disattiva" nella finestra del terminale e la shell tornerà all'ambiente Python globale.

Argomenti correlati

Risorse Python consigliate

Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.