Forstå virtuelle miljøer i Python

I denne opplæringen lærer du om virtuelle miljøer. Du lærer om viktigheten av å bruke virtuelle miljøer i Python og hvordan du kommer i gang med bruk av virtuelle miljøer.

Hva er et virtuelt miljø?

Et virtuelt miljø er et verktøy for å opprettholde separat plass for et prosjekt med avhengigheter og biblioteker på ett sted. Dette miljøet er spesifikt for det aktuelle prosjektet og forstyrrer ikke andre avhengighetsprosjekter. 

For eksempel kan du jobbe med prosjektet X som bruker versjon 1.0 av biblioteket Z og også vedlikeholde prosjektet Y som bruker versjon 2.0 av biblioteket Z.

Hvordan fungerer virtuelle miljøer?

Det virtuelle miljøverktøyet lager en mappe inne i prosjektkatalogen. Som standard kalles mappen Venv, men du kan også tilpasse navnet det også. Det holder Python og pip kjørbare filer i den virtuelle miljømappen. Når det virtuelle miljøet er aktivert, installeres pakkene som er installert etter det, inne i den prosjektspesifikke virtuelle miljømappen.

Komme i gang med VirtualEnv

Først må du sørge for at du har det pip installert på systemet ditt. Du kan installere pip bruker følgende kommando:

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

Ved hjelp av pip, installer det virtuelle miljøverktøyet.

pip installere virtualenv

Å komme i gang med å bruke virtualenv, du må initialisere og aktivere den. La oss begynne med å opprette en ny Python-prosjektkatalog PythonApp.

mkdir PythonApp

Naviger til prosjektkatalogen PythonApp og initialiser det virtuelle miljøet ved å skrive følgende kommando:

virtualenv PythonAppVenv

Kommandoen ovenfor vil sette opp det virtuelle miljøet for prosjektet PythonApp.

Det oppretter en mappe som heter PythonAppVenv inne i prosjektkatalogen PythonApp. Den holder Python og pip-kjørbarhetene i den virtuelle miljømappen. Eventuelle nye pakker installert for prosjektet etter virtuell miljøaktivering er plassert i den virtuelle miljømappen. Her er mappestrukturen:

For å komme i gang med å bruke det virtuelle miljøet, må du aktivere det ved hjelp av følgende kommando:

kilde PythonAppVenv / bin / aktiver

Når du er aktivert, bør du kunne se PythonAppVenv navn på venstre side av navneprompten.

La oss prøve å installere en ny pakke til prosjektet PythonApp.

pip-installasjonskolbe

Den nye pakken skal installeres i den virtuelle miljømappen. Sjekk den virtuelle miljømappen inni lib / python2.7 / side-pakker og du bør kunne finne den nylig installerte kolbe pakke. Du kan lære mer om Flask på prosjektsiden.

Når du er ferdig med det virtuelle miljøet, kan du deaktivere det ved å bruke følgende kommando:

deaktivere 

Lettere å spore pakker

Mens du jobber med Python-programmer, installerer du forskjellige pakker som kreves av programmet. Du fortsetter å jobbe, og listen over pakkene som er installert fortsetter å hakke opp. Nå kommer tiden når du trenger å sende Python-koden til produksjonsserveren. Ups ... Du vet egentlig ikke hvilke pakker du har installert for at programmet skal fungere. 

Alt du kan gjøre er å åpne Python-programmet og se etter alle pakkene du har importert i programmet, og installer dem en etter en.

Et virtuelt miljø gir en enklere metode for å holde oversikt over pakkene som er installert i prosjektet. Når du har aktivert det virtuelle miljøet, gir det muligheten til å fryse den nåværende tilstanden til miljøpakken.

Du kan oppnå dette ved å bruke følgende kommando:

pip fryser> requirements.txt

Kommandoen ovenfor lager en fil som heter requirements.txt som har detaljer om pakkene med versjoner i det nåværende miljøet. Slik ser det ut:

Nå vil denne filen være veldig nyttig for å distribuere prosjektet på en annen plattform siden alle prosjektavhengighetene allerede er til rådighet i requirements.txt fil. For å installere prosjektets avhengigheter ved hjelp av requirements.txt fil, kjør følgende kommando:

pip installasjon -r krav.txt

virtualenvwrapper å gjøre ting enklere

De virtualenv verktøyet er virkelig en velsignelse for utviklere. Men det blir veldig komplisert når du må håndtere mer enn ett virtuelt miljø. For å administrere flere virtuelle miljøer, er det en utvidelse til virtualenv verktøyet kalles virtualenvwrapper

virtualenvwrapper er en wrapper rundt virtualenv verktøy som gir funksjonaliteten til å administrere flere virtuelle miljøer.

La oss begynne med å installere virtualenvwrapper bruker pip.

pip installere virtualenvwrapper

Når du har installert virtualenvwrapper, du må sette arbeidskatalogen der virtuelle miljøer skal lagres. Utfør følgende kommando for å sette arbeidskatalogen for virtualenvwrapper:

eksporter WORKON_HOME = .virtualenvs

Kommandoen ovenfor angir arbeidskatalogen for virtualenvwrapper til .virtualenvs mappe i hjemmekatalogen.

Du kan enten kilden til virtualenvwrapper kommandoer for å kjøre fra terminalen eller legge til virtualenvwrapper kommandoer til .bashrc.

kilde /usr/local/bin/virtualenvwrapper.sh

Nå vil kommandoene være tilgjengelige i den nåværende terminalen ved å trykke på Tab nøkkel. Opprett en ny prosjektmappe som heter PythonProject. Naviger til prosjektkatalogen. Tidligere da du brukte virtualenv, Du opprettet det virtuelle miljøet først og deretter aktiverte det. Ved hjelp av virtualenvwrapper, Du kan fullføre begge disse oppgavene ved hjelp av en enkelt kommando.

mkvirtualenv PythonVenv 

Kommandoen ovenfor skaper det virtuelle miljøet og aktiverer det deretter. 

For å deaktivere det virtuelle miljøet må du skrive inn deaktivere kommando.

deaktivere

Anta nå i visse scenarier at du må bytte mellom de ulike virtuelle miljøene du jobber med. virtualenvwrapper gir a jobbe med Metode for å bytte virtuelle miljøer. Kommandoen for å bytte det virtuelle miljøet er: 

workon pythonv

I kommandoen ovenfor, PythonV er navnet på det virtuelle miljøet. Her er et bilde hvor jobbe med kommandoen vises i handling:

virtualenvwrapper gir også en kommando for å liste de virtuelle miljøene i miljøet ditt.

ls $ WORKON_HOME

Kommandoen ovenfor viser en liste over virtuelle miljøer som eksisterer i miljøet.

Hvis du vil fjerne et eksisterende virtuelt miljø, kan du bruke rmvirtualenv kommando.

rmvirtualenv PV

Det er en kommando som lager en prosjektkatalog og det tilhørende virtuelle miljøet. Naviger til terminalen og utfør følgende kommando:

mkproject NewPro

Kommandoen ovenfor skal skape prosjektet og dets tilknyttede virtuelle miljø.

Det er noen få flere kommandoer du kan bruke i virtualenvwrapper. Du kan finne listen over kommandoer som er tilgjengelige ved å skrive følgende kommando:

virtualenvwrapper

Pakke det opp

I denne veiledningen så du hvordan du kommer i gang med bruk av virtuelle miljøer i Python. Du lærte viktigheten av å bruke virtuelt miljø og hvordan det fungerer. Du så også på virtualenvwrapper, en wrapper i virtualenv verktøy for å administrere flere virtuelle miljøer.

Har du noen gang brukt virtuelle miljøer i Python? Gi oss beskjed om dine tanker i kommentarene nedenfor.