Disse kravene og brukssaker kan være vondt å håndtere når forskjellige applikasjoner krever forskjellige versjoner av det samme biblioteket. Heldigvis gir Python en robust løsning for å isolere utviklingsmiljøer ved bruk av virtuelle miljøer.
Et virtuelt miljø i Python er et selvforsynt katalogtre som inneholder en spesifikk Python-installasjon sammen med alle standardbibliotekene. Bruksområder som krever en bestemt versjon av biblioteket, kan isoleres i disse virtuelle miljøene uten å forurense systemet eller andre Python -implementeringer. Hvert virtuelt miljø er en egen sandkasse, slik at du kan lage så mange som virtuelle miljøer du ønsker.
Skape og administrere virtuelle miljøer
For å lage virtuelle miljøer i Ubuntu, installerer du først den nødvendige avhengighetspakken ved å kjøre kommando:
$ sudo apt install python3-venvDu kan nå opprette virtuelle miljøer ved å kjøre kommando:
$ python3 -m venv myenvÅ kjøre kommandoen over vil skape et virtuelt miljø kalt “Myenv” i din hjemmekatalog. Hvis du vil bruke noen annen versjon av Python, kan du erstatte “Python3” ovenfor med full vei til plasseringen av din alternative Python Binary.
For å aktivere det tilpassede miljøet som er opprettet ovenfor, kjør kommando:
$ kilde Myenv/bin/aktivererNår det virtuelle miljøet er aktivert, vil Shell -ledeteksten endre seg for å gjenspeile det nåværende virtuelle miljøet du bruker. Hvis du kjører “Sys.Path ”-kommando inne i Python -tolk, kan du se at det virtuelle miljøet fungerer ordentlig. Python vil nå se etter pakker i det tilpassede miljøet du nettopp har opprettet.
Hvis skallet ditt ikke viser navnet på virtuelt miljø som prefiks, vil en hvilken som helst python -fil du kjører bruke system python i stedet. Så det er nødvendig å skaffe virtuelt miljø før du kjører en fil i ditt tilpassede miljø.
Du kan deaktivere et virtuelt miljø ved å kjøre kommando:
$ deaktivererHvert python virtuelt miljø inkluderer en "pyvenv.CFG ”-filen som har en" Include-system-site-pakker "-tast som er satt til" False "som standard. Denne nøkkelen forteller virtuelle miljø om å bruke systempakker eller ikke. Hvis det er satt til "sant", vil Python i virtuelt miljø se på systempakker i tilfelle en pakke ikke blir funnet i det virtuelle miljøet. Det vil også gjøre alle systeminstallerte pakker importable i det virtuelle miljøet.
For å slette et virtuelt miljø, må du bare slette den virtuelle miljøkatalogen, og den vil være borte.
Det er mulig å lage og lagre virtualenv på eksterne USB -stasjoner. Du må ha USB -stasjon formatert i NTFS eller EXT -filsystem. FAT32 -filsystem støtter ikke symlinks som er krav til virtuelle miljøer å fungere.
Bruker Pip Package Manager for å installere pakker i virtuelle miljø
Inne i et virtuelt miljø kan du bruke Pip Package Manager til å installere, oppgradere og avinstallere pakker. Det er mulig å nedgradere eller oppgradere en pakke ved å spesifisere et bestemt versjonsnummer.
Du kan installere en pakke ved hjelp av PIP ved å kjøre kommando (erstatt Pygame med ønsket pakketavn):
$ pip install pygameEt søkbart depot av PIP -pakker finner du her.
For å avinstallere en pakke, bruk kommando:
$ pip avinstallerer pygameFor å se alle versjoner av en pakke, kjør kommando:
$ pip install pygame ==For å nedgradere eller oppgradere til en bestemt versjon, bruk kommandoen (erstatt “1.9.5 ”med ønsket versjonsnummer):
$ pip install pygame == 1.9.5For å oppgradere en pakke til den nyeste versjonen, Kjør kommandoen:
$ pip install -upgrade pygameFor å se alle pakker installert i virtuelt miljø, kjør kommando:
$ pip -listeFor å lagre en liste over installerte pakker i VirtualEnv, kjør kommando:
$ Pip Freeze> Krav.tekstDu kan bruke ovenfor “Krav.txt ”-fil for å installere pakker i bulk. En brukssak er å duplisere et eksisterende miljø ved å installere alle pakker fra bunnen av. For å installere PIP -pakker i bulk, kjør kommando:
$ pip install -r -krav.tekstBruke python virtuelle miljøer med ikke-python-applikasjoner
Applikasjoner skrevet på andre programmeringsspråk kan sandkasseres i python virtuelle miljøer så lenge Pip eller noen annen Python Package Manager gir binærveger og pakker for disse alternative programmeringsspråk/rammer.
Her er et lite eksempel som forklarer å installere node.JS i python virtuelt miljø. Kjør følgende kommandoer en etter en:
$ python3 -m venv my_node_envNår du er ferdig, vil du ha en fullstendig isolert node.JS -miljø. Du kan lage så mange som virtuelle miljøer du vil ha for forskjellige noder.JS -applikasjoner. Pakker installert via NPM Package Manager vil bare være begrenset til aktivert virtuelt miljø.
Å skape et virtuelt python er en utmerket måte å containere utviklingsmiljøer. Hvert virtuelle miljø har sitt eget python binære og sitt eget uavhengige sett med pakker. Å utvikle flere Python -applikasjoner på det samme systemet kan raskt forurense hjemmet ditt og rotkatalogen og virtuelle miljøer gjør det så enkelt å opprettholde dem.