Come creare gli ambienti virtuali in Python con Windows e PowerShell
1 - Introduzione
Un ambiente virtuale in Python è una cartella isolata che contiene una copia indipendente dell'interprete Python e delle librerie installate. Serve a separare i progetti tra loro, evitando conflitti tra versioni di pacchetti diverse. In questo modo, ogni progetto può avere le proprie dipendenze senza influenzare il sistema globale.
2 - Inizio configurazione
Premi i tasti "Windows+X" e clicca sulla voce "Terminale". Nota: non eseguire quello con privilegi amministrativi.
Una volta aperto, viene mostrato un prompt simile al seguente, dove è possibile digitare i comandi:
PS C:\Users\NomeUtente>
Crea una cartella di prova con:
mkdir prove
Entra nella cartella con:
cd prove
3 - Creazione dell'ambiente virtuale
python -m venv .venv
Questo comando crea una cartella chiamata .venv che contiene l'ambiente virtuale isolato. Il parametro -m venv invoca il modulo venv di Python, mentre .venv è il nome della cartella che conterrà l'ambiente.
4 - Attivazione dell'ambiente virtuale
.\.venv\Scripts\Activate.ps1
Questo comando attiva l'ambiente virtuale. Dopo l'esecuzione, il prompt mostra il nome dell'ambiente tra parentesi, indicando che tutti i comandi Python e pip agiranno solo all'interno dell'ambiente isolato. Se PowerShell blocca l'esecuzione per motivi di policy, potrebbe essere necessario modificare la ExecutionPolicy, ma questa operazione non è richiesta in questa guida.
5 - Aggiornamento degli strumenti di base
python -m pip --no-cache-dir install -U pip setuptools wheel
Questo comando aggiorna i tre strumenti fondamentali di Python:
pipè il gestore dei pacchetti, usato per installare e disinstallare librerie.setuptoolsè lo strumento che permette di costruire e installare pacchetti Python.wheelè il formato di pacchetto precompilato che velocizza l'installazione.
L'opzione --no-cache-dir evita di usare la cache locale dei pacchetti scaricati, forzando il download fresco. L'opzione -U indica l'aggiornamento all'ultima versione disponibile.
6 - Installazione delle librerie principali
pip install --no-cache-dir numpy pillow requests
numpyè la libreria fondamentale per il calcolo numerico e matriciale in Python. Fornisce array multidimensionali e funzioni matematiche veloci, ed è la base di gran parte dell'ecosistema scientifico.pillowè la libreria per la manipolazione delle immagini. Permette di aprire, modificare, convertire e salvare immagini in molti formati.requestsè la libreria per effettuare richieste HTTP in modo semplice. Serve per comunicare con API web, scaricare pagine e inviare dati a server.
7 - Dove trovare altre librerie
Il sito di riferimento è:
https://pypi.org
PyPI (Python Package Index) è il repository ufficiale dei pacchetti Python. Qui si possono cercare librerie per qualsiasi esigenza.
Per verificare che una libreria sia affidabile e non presenti problemi:
- Controllare il numero di download e la data dell'ultimo aggiornamento.
- Leggere la descrizione e la documentazione ufficiale linkata.
- Verificare la presenza di un repository pubblico del codice sorgente.
- Controllare che il manutentore sia attivo e che le issue vengano gestite.
- Preferire pacchetti con molte stelle e fork se il repository è su piattaforme note.
- Evitare pacchetti con nomi simili a quelli famosi ma con piccole differenze, tipici di tentativi di contraffazione.
8 - Installazione di librerie da sorgente
Metodo classico con setup.py:
python setup.py build
python setup.py install
Il primo comando compila il pacchetto nella cartella di build, il secondo lo installa nell'ambiente corrente.
Uso moderno con pip:
pip install .
Questo comando installa il pacchetto presente nella cartella corrente usando il sistema di build moderno definito in pyproject.toml, senza invocare direttamente setup.py.
9 - Creare il file requirements.txt
pip freeze > requirements.txt
Questo comando scrive nel file requirements.txt l'elenco di tutte le librerie installate nell'ambiente con le relative versioni esatte. Serve per riprodurre lo stesso ambiente su un'altra macchina.
10 - Disinstallare tutte le librerie
pip uninstall -y -r requirements.txt
Questo comando disinstalla tutte le librerie elencate nel file requirements.txt. L'opzione -y conferma automaticamente senza chiedere, l'opzione -r indica di leggere l'elenco dal file specificato.
11 - Uscire dall'ambiente virtuale
deactivate
Questo comando disattiva l'ambiente virtuale e riporta il terminale all'uso dell'interprete Python globale del sistema.
12 - Eliminare l'ambiente virtuale
Remove-Item .venv -Recurse -Force
Questo comando elimina definitivamente la cartella .venv e tutto il suo contenuto. L'opzione -Recurse permette di cancellare anche le sottocartelle, l'opzione -Force evita richieste di conferma e rimuove anche file protetti o di sola lettura.