Python: che cos’è un virtual environment e come si crea? In questo articolo ti guido passo passo alla scoperta di questo strumento fondamentale per ogni sviluppatore Python.
Se non hai mai sentito parlare di virtual environment, o ambiente virtuale, nessun problema: te lo spiego per bene strada facendo.
Mi chiamo Lorenzo Neri, sono un informatico e realizzo contenuti per aiutarti a padroneggiare quella che considero l’arte del nuovo millennio: l’informatica.
Che cos’è un ambiente virtuale in Python
Un virtual environment in Python è un ambiente isolato dal resto del sistema.
Cosa vuol dire “isolato”?
Immagina di avere il tuo interprete Python, i tuoi pacchetti e i tuoi script… ma di volerli tenere separati da quelli di altri progetti o da quelli installati a livello di sistema.
Un virtual environment ti permette di fare proprio questo: creare una bolla separata dove installare tutto ciò che ti serve senza interferire con altri ambienti o con il sistema operativo.
Com’è fatto un virtual environment
Tecnicamente, un virtual environment è una semplice cartella con all’interno:
- una copia degli eseguibili Python
- gli strumenti per gestire i pacchetti, come
pipesetuptools - file di configurazione che identificano la cartella come ambiente virtuale
Come si crea un virtual environment
Per creare un virtual environment in Python, usa il comando:
python3 -m venv percorso/dove/creare/il/virtual/environment
Lanciando questo comando abbiamo creato il nostro virtual environment. Ma di per sé cosa succede di preciso?
La prima cosa che succede: crea una cartella, se non esiste già, in cui al suo interno troveremo dei file e delle cartelle in questa struttura:
cartellaDelVenv
|____bin/
|____include/
|____lib/
|____pyenv.cfg
Vediamola nel dettaglio:
bin/contiene gli eseguibili, inclusopythonepipinclude/contiene eventuali file header per compilazioni Clib/contiene le librerie Python, incluse quelle che installeraipyvenv.cfgè il file di configurazione: indica, tra le altre cose, da quale installazione Python è stato creato l’ambiente
Dentro lib/, troverai anche la cartella site-packages, dove finiranno i tuoi pacchetti Python. Su Windows, sarà invece Lib\site-packages.
In conclusione, ti lascio anche le referenze alla documentazione ufficiale di Python ;)
Per riassumere:
Un virtual environment ti isola da tutto il resto: sistema operativo, altri progetti, conflitti di versioni.
Si crea con un solo comando: python3 -m venv nome_cartella
Tutto quello che installi con pip resta all’interno dell’ambiente!
