Sviluppo & DevOps

Come gestire l'ambiente virtuale di Python (venv)

07 August 2026 v1.0

Come gestire l'ambiente virtuale di Python (venv) in Windows 10/11

Inizio

1 - Inizio configurazione

Windows 10 / 11

1.1 - Creare cartella con nome: "prove"

1) Andare in "Documenti" 2) Fare clic destro su "Nuovo" e poi su "Cartella" 3) Immettere nome: "prove" 4) Aprire il terminale con tasto destro e selezionare la voce "Apri terminale" (o "Apri nel Terminale")


2 - Creazione dell’ambiente virtuale

python -m venv .venv --upgrade-deps

Cos'è Un ambiente virtuale è una copia isolata dell'interprete Python e delle sue librerie. Permette di installare pacchetti specifici per un progetto senza influenzare altri progetti o il sistema globale.

Spiegazioni

  • python -m venv: esegue il modulo venv incluso in Python per creare un ambiente virtuale.
  • .venv: è il nome della cartella che verrà creata (il punto iniziale la rende nascosta in alcuni sistemi).
  • --upgrade-deps: aggiorna automaticamente i pacchetti di base (pip, setuptools, wheel) all'ultima versione durante la creazione.


3 - Attivazione dell’ambiente virtuale

.\.venv\Scripts\Activate.ps1

Non serve dare permessi di esecuzione

Cos'è L'attivazione configura il terminale corrente per utilizzare l'interprete Python e le librerie presenti nell'ambiente virtuale invece di quelle globali.

Spiegazioni

  • .\.venv\Scripts\Activate.ps1: esegue lo script PowerShell di attivazione situato nella cartella Scripts dell'ambiente virtuale.
  • Dopo l'attivazione, vedrai il nome dell'ambiente tra parentesi nel prompt, ad esempio: (.venv) PS C:\Users\...\prove>
  • Da questo momento, tutti i comandi python e pip faranno riferimento all'ambiente virtuale.


4 - Aggiornamento degli strumenti di base

python -m pip --no-cache-dir install -U pip setuptools wheel

Cos'è Questi sono gli strumenti fondamentali per gestire i pacchetti Python:

  • pip: gestore dei pacchetti Python.
  • setuptools: strumento per costruire e distribuire pacchetti.
  • wheel: formato moderno per la distribuzione di pacchetti Python.

Spiegazioni

  • python -m pip: esegue pip attraverso l'interprete Python attivo (nell'ambiente virtuale).
  • --no-cache-dir: non salva i file scaricati nella cache locale, risparmiando spazio su disco.
  • install -U: installa o aggiorna (-U = --upgrade) i pacchetti specificati.
  • pip setuptools wheel: i tre pacchetti da aggiornare.


5 - Installazione delle librerie principali

pip --no-cache-dir install numpy pillow requests

Cos'è Queste sono librerie di terze parti che estendono le funzionalità di Python:

  • numpy: libreria per il calcolo numerico e operazioni su array/matrici.
  • pillow: libreria per l'elaborazione e manipolazione delle immagini.
  • requests: libreria per effettuare richieste HTTP e interagire con servizi web/API.

Spiegazioni

  • pip: comando per installare pacchetti.
  • --no-cache-dir: evita di salvare i file temporanei nella cache.
  • install: azione di installazione.
  • numpy pillow requests: nomi dei pacchetti da installare.


6 - Cancellare modulo

Per rimuovere un singolo pacchetto:

pip uninstall <nome_pacchetto>

Esempio:

pip uninstall numpy

Spiegazioni

  • pip uninstall: comando per disinstallare un pacchetto.
  • <nome_pacchetto>: nome del pacchetto da rimuovere.
  • Verrà richiesta conferma prima della rimozione (premere y per confermare).


7 - Dove trovare altre librerie

🔗 https://pypi.org/

Cos'è PyPI (Python Package Index) è il repository ufficiale dei pacchetti Python. Qui puoi cercare, esplorare e scaricare migliaia di librerie create dalla comunità.


8 - Installazione di librerie da sorgente

python setup.py build
python setup.py install

Cos'è Alcuni pacchetti non sono disponibili su PyPI o richiedono un'installazione manuale dai file sorgente. Questo metodo compila e installa il pacchetto direttamente dal codice sorgente.

Spiegazioni

  • python setup.py build: compila il pacchetto preparando i file necessari.
  • python setup.py install: installa il pacchetto compilato nell'ambiente Python attivo.
  • ⚠️ Nota: questo metodo è considerato obsoleto. Oggi si preferisce usare pip install . o pip install -e . per installare da sorgente.


8.1 - Cancellazione libreria

pip uninstall pillow

Cos'è Comando per rimuovere completamente un pacchetto installato dall'ambiente virtuale.

Spiegazioni

  • pip uninstall: avvia la procedura di disinstallazione.
  • pillow: nome del pacchetto da rimuovere.
  • Il comando chiederà conferma; aggiungere -y per saltare la conferma:
`<code>bash pip uninstall pillow -y </code>`


9 - Gestione delle librerie

9.1 - Salva un elenco delle librerie installate

pip freeze > requirements.txt

Cos'è Genera un file di testo che contiene tutti i pacchetti installati con le relative versioni esatte.

Spiegazioni

  • pip freeze: elenca tutti i pacchetti installati nel formato pacchetto==versione.
  • >: reindirizza l'output in un file.
  • requirements.txt: nome del file creato. Questo file può essere condiviso con altri sviluppatori per replicare lo stesso ambiente.

Esempio di contenuto di requirements.txt:

numpy==1.24.3
pillow==9.5.0
requests==2.31.0

9.2 - Disinstalla tutte le librerie

pip uninstall -r requirements.txt -y

Cos'è Rimuove tutti i pacchetti elencati nel file requirements.txt.

Spiegazioni

  • pip uninstall: comando di disinstallazione.
  • -r requirements.txt: legge la lista dei pacchetti dal file specificato.
  • -y: conferma automatica senza chiedere interazione.

⚠️ Attenzione: questo comando rimuove solo i pacchetti elencati, non l'ambiente virtuale stesso.


9.3 - Reinstalla le librerie

pip install -r requirements.txt

Cos'è Installa tutti i pacchetti elencati nel file requirements.txt con le versioni specificate.

Spiegazioni

  • pip install: comando di installazione.
  • -r requirements.txt: legge la lista dei pacchetti e le versioni dal file.
  • Utile per ricreare rapidamente lo stesso ambiente su un altro computer o dopo una reinstallazione.


10 - Uscire dall’ambiente virtuale

deactivate

Cos'è Comando per disattivare l'ambiente virtuale e tornare a utilizzare l'interprete Python globale.

Spiegazioni

  • deactivate: ripristina le variabili d'ambiente originali.
  • Il prompt tornerà al formato normale senza il prefisso (.venv).
  • I comandi python e pip faranno nuovamente riferimento all'installazione globale di Python.


11 - Eliminare l’ambiente virtuale

Remove-Item .venv -Recurse -Force

Cos'è Comando PowerShell per eliminare completamente la cartella dell'ambiente virtuale e tutto il suo contenuto.

Spiegazioni

  • Remove-Item: cmdlet PowerShell per eliminare file o cartelle.
  • .venv: nome della cartella da eliminare.
  • -Recurse: elimina anche tutte le sottocartelle e i file contenuti.
  • -Force: forza l'eliminazione senza chiedere conferma, anche per file protetti.

⚠️ Attenzione: questa operazione è irreversibile. Assicurati di aver salvato eventuali dati importanti prima di procedere.


12 - Riepilogo dei comandi

AzioneComando
Creare ambiente virtualepython -m venv .venv --upgrade-deps
Attivare ambiente virtuale.\.venv\Scripts\Activate.ps1
Aggiornare strumenti basepython -m pip --no-cache-dir install -U pip setuptools wheel
Installare libreriepip --no-cache-dir install numpy pillow requests
Disinstallare un pacchettopip uninstall <nome_pacchetto>
Salvare lista libreriepip freeze > requirements.txt
Disinstallare tutte le libreriepip uninstall -r requirements.txt -y
Reinstallare libreriepip install -r requirements.txt
Disattivare ambientedeactivate
Eliminare ambiente virtualeRemove-Item .venv -Recurse -Force

Torna agli Appunti