Comprendere gli ambienti virtuali in Python

In questo tutorial, imparerai a conoscere gli ambienti virtuali. Imparerai a conoscere l'importanza dell'uso di ambienti virtuali in Python e come iniziare a utilizzare ambienti virtuali.

Cos'è un ambiente virtuale?

Un ambiente virtuale è uno strumento per mantenere lo spazio separato per un progetto con le sue dipendenze e le sue librerie in un unico posto. Questo ambiente è specifico per il particolare progetto e non interferisce con le dipendenze di altri progetti. 

Ad esempio, puoi lavorare sul progetto X che utilizza la versione 1.0 della libreria Z e anche mantenere il progetto Y che utilizza la versione 2.0 della libreria Z.

Come funzionano gli ambienti virtuali?

Lo strumento dell'ambiente virtuale crea una cartella all'interno della directory del progetto. Per impostazione predefinita, viene chiamata la cartella venv, ma puoi anche dargli un nome personalizzato. Mantiene Python e pip eseguibili all'interno della cartella dell'ambiente virtuale. Quando l'ambiente virtuale è attivato, i pacchetti installati successivamente vengono installati all'interno della cartella dell'ambiente virtuale specifico del progetto.

Iniziare con VirtualEnv

Per prima cosa, assicurati di averlo seme installato sul tuo sistema. Puoi installare seme usando il seguente comando:

sudo apt-get install python-pip python-dev build-essential

utilizzando seme, installa lo strumento dell'ambiente virtuale.

pip installa virtualenv

Per iniziare con l'utilizzo virtualenv, è necessario inizializzarlo e attivarlo. Iniziamo creando una nuova directory di progetto Python PythonApp.

mkdir PythonApp

Passare alla directory del progetto PythonApp e inizializzare l'ambiente virtuale digitando il seguente comando:

virtualenv PythonAppVenv

Il comando precedente imposterà l'ambiente virtuale per il progetto PythonApp.

Crea una cartella chiamata PythonAppVenv all'interno della directory del progetto PythonApp. Mantiene i file eseguibili Python e pip all'interno della cartella dell'ambiente virtuale. Tutti i nuovi pacchetti installati per il progetto dopo l'attivazione dell'ambiente virtuale sono collocati all'interno della cartella dell'ambiente virtuale. Ecco la struttura delle cartelle:

Per iniziare a utilizzare l'ambiente virtuale, è necessario attivarlo utilizzando il seguente comando:

source PythonAppVenv / bin / activate

Una volta attivato, dovresti essere in grado di vedere il PythonAppVenv nome sul lato sinistro del prompt dei nomi.

Proviamo a installare un nuovo pacchetto nel progetto PythonApp.

pip installare pallone

Il nuovo pacchetto dovrebbe essere installato nella cartella dell'ambiente virtuale. Controlla la cartella dell'ambiente virtuale all'interno lib / python2.7 / site-packages e dovresti essere in grado di trovare il nuovo installato pallone pacchetto. Puoi saperne di più su Flask nella pagina del progetto.

Una volta che hai finito con l'ambiente virtuale, puoi disattivarlo usando il seguente comando:

disattivare 

Più facile per tenere traccia dei pacchetti

Mentre si lavora con i programmi Python, si installano diversi pacchetti richiesti dal programma. Continui a lavorare e l'elenco dei pacchetti installati continua ad accumularsi. Ora arriva il momento in cui è necessario spedire il codice Python al server di produzione. Oops ... Davvero non sai quali pacchetti hai installato per far funzionare il programma. 

Tutto quello che puoi fare è aprire il programma Python e controllare tutti i pacchetti che hai importato nel tuo programma e installarli uno per uno.

Un ambiente virtuale fornisce un metodo più semplice per tenere traccia dei pacchetti installati nel progetto. Una volta attivato l'ambiente virtuale, fornisce la possibilità di bloccare lo stato attuale dei pacchetti di ambiente.

È possibile ottenere ciò utilizzando il seguente comando:

pip freeze> requirements.txt

Il comando precedente crea un file chiamato requirements.txt che ha dettagli sui pacchetti con versioni nell'ambiente corrente. Ecco come appare:

Ora questo file sarebbe davvero utile per l'implementazione del progetto su una piattaforma diversa poiché tutte le dipendenze del progetto sono già a tua disposizione nel requirements.txt file. Per installare le dipendenze del progetto usando il requirements.txt file, eseguire il seguente comando:

pip installa -r requirements.txt

virtualenvwrapper rendere le cose più facili

Il virtualenv lo strumento è davvero un vantaggio per gli sviluppatori. Ma diventa davvero complicato quando devi affrontare più di un ambiente virtuale. Per gestire più ambienti virtuali, esiste un'estensione per virtualenv strumento chiamato virtualenvwrapper

virtualenvwrapper è un involucro intorno al virtualenv strumento che fornisce la funzionalità per gestire più ambienti virtuali.

Iniziamo installando virtualenvwrapper usando pip.

pip installa virtualenvwrapper

Una volta installato virtualenvwrapper, è necessario impostare la directory di lavoro in cui verranno archiviati gli ambienti virtuali. Esegui il seguente comando per impostare la directory di lavoro virtualenvwrapper:

export WORKON_HOME = .virtualenvs

Il comando precedente imposta la directory di lavoro per virtualenvwrapper al .virtualenvs cartella nella home directory.

Puoi entrambi i sorgenti virtualenvwrapper comandi da eseguire dal terminale o aggiungere il virtualenvwrapper comandi al .bashrc.

fonte /usr/local/bin/virtualenvwrapper.sh

Ora i comandi saranno accessibili nel terminale corrente premendo il tasto linguetta chiave. Crea una nuova cartella di progetto chiamata PythonProject. Passare alla directory del progetto. In precedenza, quando hai usato virtualenv, hai prima creato l'ambiente virtuale e poi l'hai attivato. utilizzando virtualenvwrapper, è possibile completare entrambe queste attività utilizzando un singolo comando.

mkvirtualenv PythonVenv 

Il comando precedente crea l'ambiente virtuale e quindi lo attiva. 

Per disattivare l'ambiente virtuale, è necessario digitare il disattivare comando.

disattivare

Supponiamo ora che in determinati scenari sia necessario passare da un ambiente virtuale all'altro in cui si sta lavorando. virtualenvwrapper fornisce a lavorare su metodo per cambiare gli ambienti virtuali. Il comando per cambiare l'ambiente virtuale è: 

lavoro su PythonV

Nel comando precedente, PythonV è il nome dell'ambiente virtuale. Ecco un'immagine in cui il lavorare su il comando è mostrato in azione:

virtualenvwrapper fornisce anche un comando per elencare gli ambienti virtuali nel proprio ambiente.

ls $ WORKON_HOME

Il comando precedente mostra un elenco di ambienti virtuali che esistono nell'ambiente.

Per rimuovere un ambiente virtuale esistente, è possibile utilizzare il rmvirtualenv comando.

rmvirtualenv PV

Esiste un comando che crea una directory di progetto e il suo ambiente virtuale associato. Passare al terminale ed eseguire il seguente comando:

mkproject NewPro

Il comando precedente dovrebbe creare il progetto e il suo ambiente virtuale associato.

Ci sono alcuni altri comandi che puoi usare virtualenvwrapper. Puoi trovare l'elenco dei comandi disponibili digitando il seguente comando:

virtualenvwrapper

Avvolgendolo

In questo tutorial, hai visto come iniziare a utilizzare ambienti virtuali in Python. Hai imparato l'importanza di utilizzare l'ambiente virtuale e come funziona. Hai anche dato un'occhiata a virtualenvwrapper, un involucro nel virtualenv strumento per la gestione di più ambienti virtuali.

Hai mai usato ambienti virtuali in Python? Fateci sapere i vostri pensieri nei commenti qui sotto.