lettura facile

Ambiente virtuale in Python

Un ambiente virtuale in Python è un ambiente isolato dove puoi installare librerie e pacchetti software necessari per un progetto specifico, senza influenzare le librerie installate a livello globale nel sistema.

A cosa serve? Un ambiente virtuale ti permette di gestire dipendenze, le diverse versioni delle librerie e dei pacchetti in modo separato per ogni progetto, evitando conflitti tra versioni diverse necessarie per progetti diversi. Sono particolarmente utili, soprattutto se lavori su più progetti che utilizzano diverse dipendenze.

Nel linguaggio Python puoi creare e gestire ambienti virtuali, utilizzando principalmente due strumenti: `venv` e `virtualenv`.

Utilizzo di `venv`

E' uno strumento che viene fornito con Python 3.3 e versioni successive.

Per creare un ambiente virtuale con `venv`, apri il terminale nel tuo sistema operativo ed entra nella directory del tuo progetto, dove desideri creare l'ambiente virtuale.

Ad esempio, se vuoi creare un ambiente virtuale chiamato `myenv`, puoi usare il comando seguente:

python3 -m venv myenv

Questo comando crea una directory `myenv` nella tua directory corrente, contenente l'ambiente virtuale.

Nella directory `myenv` sono create automaticamente diverse sottodirectory come `bin` (su macOS/Linux) o `Script` (su Windows), `include`, `lib`, ecc.

venv/
├── bin/ # "Scripts/" su Windows
│ ├── activate # Script per attivare l'ambiente (e varianti per altri shell)
│ ├── pip
│ ├── python
│ └── ...
├── include/
│ └── ... # Header files per la compilazione di estensioni C
├── lib/ # O "Lib/" su Windows
│ └── python3.8/
│ └── site-packages/
│ └── ... # Pacchetti installati
└── pyvenv.cfg # File di configurazione dell'ambiente virtuale

Questa struttura contiene tutti i file necessari per eseguire il Python isolato e gestire i pacchetti all'interno di quell'ambiente.

  • bin/ (su Unix/macOS) o Scripts/ (su Windows)
    Questa directory contiene gli eseguibili e gli script, inclusi python (o python.exe su Windows), pip, e uno script activate che viene usato per attivare l'ambiente virtuale nel tuo shell. L'attivazione dell'ambiente modifica temporaneamente il PATH del tuo shell per utilizzare la versione di Python e i binari di pip situati in questa directory.
  • include/
    Questa directory contiene gli header C necessari per compilare i pacchetti Python. È presente principalmente in ambienti virtuali su sistemi Unix-like che richiedono la compilazione di estensioni C.
  • lib/ (su Unix/macOS) o Lib/ (su Windows)
    Questa directory contiene i file Python - librerie standard e altri pacchetti installati. All'interno di lib/ troverai una sottodirectory per la versione specifica di Python (es. python3.8/), che a sua volta contiene una directory site-packages dove pip installa i nuovi pacchetti.
  • pyvenv.cfg
    E' un file di configurazione che contiene informazioni sull'ambiente virtuale, come il percorso dell'interprete Python originale. 

Una volta creato, attiva l'ambiente virtuale con il comando specifico per il tuo sistema operativo.

Se stai usando Windows puoi attivarlo digitando questo comando:

myenv\Scripts\activate.bat

Se invece stai usando un PC su Unix o MacOS devi usare quest'altro comando

source myenv/bin/activate

Una volta attivato l'ambiente virtuale, il tuo prompt nel terminale cambierà per riflettere l'attivazione dell'ambiente.

Da questo momento, ogni comando `python` e `pip` che esegui opera all'interno dell'ambiente virtuale e non influenzerà il sistema Python globale.

Per vedere qualche versione di Python e ambiente virtuale stai utilizzando digita sulla riga comandi del sistema operativo witch Python se stai usando un PC Linux/macOS

which python

oppure witch Python3 su Windows.

which python

Ad esempio, con l'ambiente virtuale attivo, installa la libreria requests usando pip:

pip install requests

Poi entra in Python e crea un file chiamato example.py nella stessa directory con questo codice:

import requests
response = requests.get('https://www.wikipedia.org')
print('Status Code:', response.status_code)

Quando esegui lo script dovresti vedere il codice di stato della risposta stampato sul terminale, che di solito è 200 per una richiesta riuscita.

Utilizzo di virtualenv

Si tratta di un'alternativa a `venv` che offre maggiore flessibilità e compatibilità con versioni precedenti di Python.

Per usare `virtualenv`, devi prima installarlo con `pip`:

pip install virtualenv

Una volta installato, puoi creare un ambiente virtuale digitando:

virtualenv myenv

L'attivazione dell'ambiente virtuale si fa con lo stesso comando usato per `venv`, a seconda del sistema operativo.

Come disattivare l'ambiente virtuale

Ricorda di disattivare l'ambiente virtuale quando hai finito di lavorarci, usando il comando `deactivate`.

deactivate

Questo comando si trova nella sottodirectory `bin` su Linux/macOS oppure `Scripts` su Windows dell'ambiente virtuale che stai utilizzando.

In questo modo puoi tornare a lavorare con l'ambiente di default di Python. 




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin