0Pricing
Python Academy · Lezione

Perché gli ambienti virtuali sono importanti

Comprenda i conflitti tra dipendenze e perché l'isolamento sia essenziale.

Perché gli ambienti virtuali sono importanti è una lezione Python Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Python Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Python Academy include 4 lezioni in totale.

Introduzione

Senza ambienti virtuali, tutti i pacchetti Python vengono installati globalmente, causando conflitti di versione tra i progetti.

Il problema delle installazioni globali

Per impostazione predefinita, pip installa i pacchetti nel Python di sistema. Il progetto A richiede requests 2.25, mentre il progetto B richiede 2.28: conflitto!
# Without venv:
# pip install requests==2.25  -> global
# pip install requests==2.28  -> overwrites 2.25!
print('global conflict demo')

Che cos'è un ambiente virtuale?

Un venv è un'installazione Python isolata all'interno di una directory. Ogni progetto dispone dei propri pacchetti, indipendenti dagli altri.
# venv creates:
# project/
#   .venv/
#     bin/python     (isolated Python)
#     lib/site-packages/  (project packages)
print('venv structure')

Riproducibilità

Con un venv + requirements.txt, chiunque può ricreare esattamente lo stesso ambiente: pip install -r requirements.txt
# pip freeze > requirements.txt
# # Later, on another machine:
# python -m venv .venv
# pip install -r requirements.txt
print('reproducible env')

Isolamento e sicurezza

L'installazione dei pacchetti in un venv non influisce sul Python di sistema. Non sono necessari sudo o i privilegi di amministratore. Non c'è alcun rischio di danneggiare gli strumenti di sistema.
# System Python is untouched:
# /usr/bin/python -> system packages
# .venv/bin/python -> project packages only
print('security isolation')

CI/CD e Docker

In CI/CD e nei container, crei un venv nuovo per ogni build per garantire un ambiente pulito e riproducibile.
# Dockerfile pattern:
# RUN python -m venv /opt/venv
# RUN /opt/venv/bin/pip install -r requirements.txt
print('ci/cd demo')

Un venv per progetto

Mantenga un venv per ogni progetto, memorizzato in .venv/ nella directory radice del progetto. Non esegua mai il commit del venv nel controllo versione.
# Add to .gitignore:
# .venv/
# __pycache__/
print('gitignore tip')

Site-packages di sistema, utente e venv

Python cerca i pacchetti in: site-packages del venv → sito utente → sito globale. Il venv ha la precedenza quando è attivo.
import sys
print('\n'.join(p for p in sys.path if 'site' in p))

pyenv per la gestione delle versioni Python

pyenv gestisce più versioni di Python (3.10, 3.11, 3.12). Lo combini con venv per ottenere un isolamento completo.
# pyenv install 3.12.0
# pyenv local 3.12.0
# python -m venv .venv
print('pyenv demo')

conda come alternativa

conda (Anaconda/Miniconda) gestisce sia i pacchetti sia le versioni di Python. È molto utilizzato nella data science.
# conda create -n myenv python=3.11
# conda activate myenv
# conda install numpy pandas
print('conda demo')

Riepilogo delle best practice

Lavori sempre in un venv. Utilizzi requirements.txt o pyproject.toml. Aggiunga .venv/ a .gitignore. Utilizzi versioni di Python coerenti.
import sys
print('Python:', sys.version)
print('venv:', sys.prefix != sys.base_prefix)

Verifica rapida

Qual è il problema principale risolto dagli ambienti virtuali?

Riepilogo

Ambienti virtuali: isolamento per progetto. Ogni venv dispone dei propri pacchetti. Utilizzi requirements.txt per la riproducibilità. Aggiunga .venv/ a .gitignore.

Continui

Continui così! Passi alla lezione successiva.

Domande Frequenti

La lezione «Perché gli ambienti virtuali sono importanti» è gratuita?

Sì — il testo completo di «Perché gli ambienti virtuali sono importanti» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Python Academy, passa a CoddyKit PRO. Il corso Python Academy include 4 lezioni in totale.

Cosa imparerò in «Perché gli ambienti virtuali sono importanti»?

Comprenda i conflitti tra dipendenze e perché l'isolamento sia essenziale. Eserciti Python Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Python Academy?

Non è richiesta alcuna esperienza precedente. Python Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Perché gli ambienti virtuali sono importanti»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Python Academy?

Sì. Ogni lezione Python Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Perché gli ambienti virtuali sono importanti
  2. Creazione e attivazione di venv
  3. Gestione delle dipendenze con pip
  4. Strumenti moderni: pipenv e uv
← Torna a Python Academy