Tutorial Python Virtualenv

Tutorial Python Virtualenv

Quando si lavora su un progetto Python, si consiglia di creare un ambiente virtuale per il progetto, in modo tale da isolare i requisiti del progetto dal sistema. Inoltre, un ambiente virtuale è il modo migliore per separare le dipendenze quando si hanno diversi progetti che richiedono versioni diverse dello stesso pacchetto.

Questa guida offre un tutorial pratico sull'ambiente virtuale di Python. Inizieremo comprendendo cos'è un ambiente virtuale Python, i suoi benefici e come creare, attivare ed eliminare l'ambiente virtuale di Python.

Comprensione dell'ambiente virtuale di Python

L'uso di ambienti virtuali è comune quando si lavora con lo sviluppo di Python. Un ambiente virtuale di Python è un ambiente di sviluppo isolato che consente agli sviluppatori di avere uno spazio isolato contenente una copia di Python.

Nell'ambiente virtuale, è possibile installare altri strumenti richiesti per un progetto. Inoltre, puoi avere più ambienti virtuali utilizzando versioni diverse dello stesso programma senza influire sui pacchetti globali.

Idealmente, un ambiente virtuale ti consente di lavorare su più copie di Python fianco a fianco con diversi programmi installati per vari progetti. Ciascuno ha creato l'ambiente virtuale Python contiene l'interprete Python e una cartella per le librerie di terze parti installate. Le modifiche apportate in un ambiente virtuale non influiscono sulle dipendenze di altri ambienti virtuali creati.

Perché utilizzare gli ambienti virtuali di Python?

Lavorare in un ambiente virtuale garantisce uno spazio di lavoro isolato che non può influire sui pacchetti a livello di sistema. Pertanto, puoi avere spazio per sviluppare i tuoi progetti senza influire su altri pacchetti o dipendenze installate nel sistema.

Inoltre, è possibile avere più ambienti virtuali con gli stessi programmi installati ma in esecuzione su versioni diverse. Ad esempio, se il progetto richiede Numpy 2.1 e un altro richiede Numpy 2.0, È possibile installare la versione specifica per ogni ambiente virtuale. L'uso di un ambiente virtuale garantisce che non otteniamo problemi di compatibilità, poiché Python non può avere due versioni di un pacchetto in esecuzione su un sistema.

Quando si lavora su un progetto Python, è meglio creare un ambiente virtuale e installare tutte le sue dipendenze necessarie invece di installare pacchetti a livello globale. In questo modo, manterrai il tuo sistema pulito ed eviterai errori di dipendenza globale.

Lavorare con ambienti virtuali di Python

Abbiamo discusso di cosa sia un ambiente virtuale Python e quali vantaggi offre. Il prossimo passo è creare e utilizzare un ambiente virtuale Python.

Python offre due strumenti per la creazione di un ambiente virtuale, Virtualenv e Venv. Il virtualenv Funziona con versioni più vecchie di Python e deve essere installato sul sistema prima di poterlo utilizzare. comunque, il Venv Supporta le versioni più recenti di Python e viene preinstallato con Python 3.Versioni 3 o superiori. Quindi, controlla la versione Python che stai utilizzando per sapere quale strumento funziona per il tuo caso.

Creazione di un ambiente virtuale Python

Per questo tutorial, stiamo usando Ubuntu 22.04, e funziona Python3. Quindi, useremo Venv Come strumento ambientale virtuale. Creeremo una cartella in cui faremo il nostro ambiente virtuale Python. Nomiamo la nostra cartella del nostro progetto Linuxhint.\

Prima di creare l'ambiente virtuale, devi avere PIP installato. Verifica così controllando la sua versione.

$ PIP -VERSION

Se PIP non è installato, installalo come segue.

$ sudo apt install python3-pip

Inoltre, per i sistemi Debian/Ubuntu, è necessario installare il pacchetto Python3-Venv per utilizzarlo per creare il tuo ambiente virtuale. Se provi a creare l'ambiente virtuale senza installare il pacchetto, riscontrerai questo errore.

Quindi, esegui il comando qui sotto per installare il pacchetto Pyuthon3-Venv

$ sudo apt Installa python3.10-ven

Premere y quando viene richiesto di procedere con l'installazione.

Ora sei pronto per creare il tuo ambiente virtuale all'interno della cartella del progetto utilizzando lo strumento VENV. Usa il comando qui sotto e nomina il tuo ambiente virtuale a tuo piacimento. Nel nostro caso, l'abbiamo chiamato Test1.

$ python3 -m venv test1

Noterai che una nuova cartella verrà creata all'interno della cartella del progetto, confermando che il nostro ambiente virtuale è stato creato correttamente. La cartella creata contiene gli strumenti necessari richiesti per lo sviluppo di Python.

Quindi, ora hai una copia di Python in un ambiente virtuale in cui è possibile installare i pacchetti richiesti per il tuo progetto.

Attivazione dell'ambiente virtuale Python

Non è possibile utilizzare l'ambiente virtuale creato fino a quando non lo attivi. Ecco la sintassi per attivare l'ambiente virtuale.

$ source virtualenv-name/bin/attiva

Una volta attivato l'ambiente virtuale, noterai che il suo nome apparirà all'inizio del prompt del terminale. Un altro modo per verificare se l'ambiente virtuale è stato attivato è utilizzando il Quale comanda di individuare Python nell'ambiente virtuale.

Se l'ambiente virtuale viene attivato, il comando restituirà il percorso all'interprete di Python creato una volta attivato l'ambiente virtuale.

$ quale python

Si noti che la versione Python per il tuo sistema è la stessa versione disponibile nell'ambiente virtuale creato. Controlla la versione Python per verificare. Abbiamo usato Python 3.10.6 Quando si crea l'ambiente virtuale ed è la stessa versione disponibile nell'ambiente virtuale attivato.

Ora puoi iniziare a installare pacchetti per il tuo sviluppo Python.

Installazione di pacchetti nell'ambiente virtuale

Solo in un ambiente virtuale Python appena creato PIP e setUptools sono disponibili. I due pacchetti sono installati per impostazione predefinita e è possibile elencare i pacchetti disponibili utilizzando il comando PIP.

È possibile utilizzare il comando PIP quando si desidera più pacchetti. Ecco la sintassi per l'installazione di un pacchetto all'interno dell'ambiente virtuale.

$ python3 -m pip installa

La sintassi sopra installerà l'ultima versione per il pacchetto specificato. Diamo un'occhiata a questo esempio da installare Numpy con il comando sotto.

$ python3 -m pip installa numpy

PIP raccoglierà il pacchetto specificato, lo scaricerà e lo installerà. Una volta completata l'installazione, è possibile elencare i pacchetti installati utilizzando il Elenco PIP comando per verificare se Numpy è disponibile e la versione installata.

Per questo caso, abbiamo installato Numpy 1.23.5. E se volessimo una versione numpy inferiore di 1.2? In tal caso, è possibile specificare la versione specifica utilizzando la sintassi di seguito.

$ python3 -m pip install numpy == 1.20.0

Qui, stiamo specificando la versione esatta usando il doppio segno uguale.

In alternativa, utilizzando il segno meno che con la sintassi seguente, è possibile specificare PIP per installare qualsiasi versione inferiore.

$ python3 -m pip install 'numpy<1.20'

Andiamo avanti e vediamo come raggiungerlo, ma prima dobbiamo installare la versione numpy installata. Usa il comando qui sotto per disinstallarlo.

$ python3 -m pip disinstall numpy

Premere y Per completare la disinstallazione. Possiamo verificare che Numpy non appare più nell'elenco dei pacchetti installati.

Una volta disinstallato, proviamo a installare una versione numpy inferiore.

Nell'immagine sopra, noterai che PIP sta installando Numpy-1.19.5, che è una versione inferiore a 1.20. Questa funzione è utile quando si crea un progetto Python che si basa sulle versioni precedenti di un determinato pacchetto. In tal caso, è possibile gestire comodamente lo sviluppo installando qualsiasi versione di un pacchetto richiesto.

Supponiamo di voler una versione superiore. In tal caso, usa il maggiore del segno, come illustrato nella sintassi seguente.

$ python3 -m pip installa 'pacchetto> versione'

Ad esempio, l'esempio seguente specifica che vogliamo installare numpy ma di una versione superiore a 1.20. Possiamo notare nell'ultima riga che PIP ha installato Numpy versione 1.23.5, che è quello che volevamo.

Quando si lavora con un ambiente virtuale Python, è meglio specificare la versione esatta del pacchetto che si desidera utilizzare per il progetto dato. La buona notizia è che puoi avere due progetti che utilizzano lo stesso pacchetto ma con una versione diversa, a seconda del requisito di ciascun progetto.

Ad esempio, se volessimo installare PANDAS versione 1.3.5, Potremmo usare il comando qui sotto.

$ python3 -m pip installa panda == 1.3.5

Nell'esempio sopra, notiamo che anche l'installazione di Panda ha installato automaticamente le sue dipendenze. Pertanto, se elenchiamo i pacchetti disponibili, noteremo che abbiamo installato il pacchetto specificato e la sua versione e altre dipendenze.

Riproduzione dell'ambiente virtuale

Quando si lavora con un ambiente virtuale Python, è comune riprodurlo quando qualcuno vuole lavorare sullo stesso progetto utilizzando gli stessi pacchetti e versioni che hai installato. Potrebbe essere che vuoi condividere il tuo progetto con qualcuno e devono usare gli stessi pacchetti che hai usato per il progetto. In tal caso, in primo luogo, usa il congelare comanda per elencare tutti i pacchetti del progetto e le versioni installate.

$ PIP Freeze

Il nostro obiettivo è creare ambienti identici con le stesse dipendenze. Quindi, dovremmo esportare l'output di cui sopra in un file di testo, in modo da poterlo condividere con qualcuno per creare un ambiente identico.

Ecco come esportare le dipendenze.

$ pip freeze> identico.TXT

Possiamo verificare il contenuto del file di testo creato per assicurarci di avere le stesse dipendenze prima di condividerlo.

Ora, riproduciamo l'ambiente identico nella stessa cartella del progetto e lo attiviamo.

Per riprodurre l'ambiente, installare le dipendenze utilizzando il file di testo che abbiamo generato in precedenza per l'altro ambiente virtuale. Ecco come installare le dipendenze.

$ pip install -r identico.TXT

PIP installerà tutti i pacchetti nominati e le loro versioni.

L'ultimo passo è verificare che abbiamo un ambiente virtuale identico contenente tutte le dipendenze richieste. Verifica che utilizzando il comando Elenco PIP.

Possiamo verificare che ora abbiamo un ambiente virtuale identico. Si noti che il file condiviso consente all'altra persona di creare un ambiente virtuale identico contenente i pacchetti, l'interprete di Python, ecc. Tuttavia, il codice sorgente per il progetto non è contenuto nell'ambiente virtuale ma nella cartella del progetto.

Quindi, se si desidera condividere il codice sorgente, copialo dalla cartella del progetto, non dalla cartella dell'ambiente virtuale.

Disattivando l'ambiente virtuale

Esistono due opzioni per disattivare un ambiente virtuale Python. Puoi disattivarlo per accedervi in ​​seguito o eliminare l'ambiente virtuale senza influire sul sistema.

Supponiamo di voler disattivare l'ambiente virtuale e passare a usarlo un altro. Usa il disattivare comando.

$ deactivate

Una volta disattivato l'ambiente virtuale, il prompt del terminale tornerà alla cartella del progetto. Se preferisci eliminare l'ambiente virtuale, è necessario eliminare la sua cartella usando il Rm comando.

Nell'esempio seguente, abbiamo eliminato il Demo2 ambiente virtuale.

Ecco come eliminare completamente un ambiente virtuale Python.

Conclusione

Gli ambienti virtuali sono utili quando si desidera lavorare su diversi progetti che richiedono versioni diverse dello stesso pacchetto. Tutto ciò che serve è creare un ambiente virtuale per ciascun progetto e installare le sue dipendenze senza influire su altri ambienti virtuali o pacchetti globali. Questa guida ha discusso di cosa sia un ambiente virtuale Python, perché ne hai bisogno e come crearlo, attivarlo ed eliminare l'ambiente virtuale. Con ciò, puoi implementare lo stesso per i tuoi progetti Python.