Che cos’è il virtual environment in Python? Come funziona? In questo articolo andiamo a scoprire questi aspetti.
Se non sei proprio fresco di studi, “virtual environment” ovvero “ambiente virtuale” credo tu sappia cosa intenda: se così non fosse, beh… Tranquillo: te lo spiego strada facendo.
Ciao mi chiamo Lorenzo Neri e sono un informatico: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!
Che cos’è un ambiente virtuale in Python
Un ambiente virtuale all’interno di Python è un ambiente vero e proprio isolato da tutte le altre risorse presenti sulla tua macchina.
Che significa quella frase scritta in tecnichese?
Immaginatelo così.
Hai il tuo interprete Python, librerie, pacchetti e script.
A un certo punto, li vuoi isolare rispetto al tuo sistema operativo, altri pacchetti e script installati a livello di sistema.
In parole ancora più povere ecco che cos’è un virtual environment: un ambiente isolato da tutte le altre risorse Python presenti a sistema.
Quindi, quando creiamo un ambiente virtuale in Python, andiamo a creare una sorta di “copia” separata che “gira” da sola in maniera indipendente dalle altre presenti sulla tua macchina.
Com’è strutturato un Python virtual environment
Un ambiente virtuale in Python, è molto banalmente una cartella che contiene file eseguibili Python e altri file che appunto indicano “Hey, questa cartella è un ambiente virtuale”.
Non solo.
Al suo interno i software di installazione e gestione dei pacchetti, per esempio penso a setuptools e pip, funzionano allo stesso esatto identico modo di sempre.
Ma che cosa significa davvero ciò che ho scritto una frase fa?
Significa che all’interno dell’ambiente virtuale, i pacchetti Python verranno installati direttamente dentro ad esso senza doverlo specificare esplicitamente.
Quindi, capito come funziona un virtual environment, cerchiamo di capire come crearlo.
Come creare un ambiente virtuale in Python
Un ambiente virtuale in python, si crea con il seguente 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
Parliamo un attimo del file “pyenv.cfg” e del contenuto della cartella appena creata
Il contenuto dell’ambiente virtuale appena creato
Si tratta di un file che contiene una chiave “home” che punta all’installazione Python da cui abbiamo lanciato il comando per creare il virtual environment stesso.
La cartella “bin” contiene al suo interno una copia dei file binary Python.
All’interno di “lib” troviamo un po’ di cose.
Dentro di lei, troviamo una cartella: “/PythonX.Y/site-packages” che su Windows sarà invece “\siste-packages”: ti lascio indovinare cosa ci sia dentro!
In conclusione, ti lascio anche le referenze alla documentazione ufficiale di Python 😉