Hvordan lage og administrere python virtuelle miljøer

Hvordan lage og administrere python virtuelle miljøer
Det er ganske vanlig å se Python-utviklere installere og oppgradere pakker fra standard- og ikke-standardkilder for å utvikle applikasjoner. Årsaker kan variere fra å bruke en nyere versjon av en modul til å bruke en bestemt versjon i tilfelle det er en regresjon.

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.

Hva er et virtuelt python virtuelt miljø?

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-venv

Du 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/aktiverer

Nå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:

$ deaktiverer

Hvert 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 pygame

Et søkbart depot av PIP -pakker finner du her.

For å avinstallere en pakke, bruk kommando:

$ pip avinstallerer pygame

For å 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.5

For å oppgradere en pakke til den nyeste versjonen, Kjør kommandoen:

$ pip install -upgrade pygame

For å se alle pakker installert i virtuelt miljø, kjør kommando:

$ pip -liste

For å lagre en liste over installerte pakker i VirtualEnv, kjør kommando:

$ Pip Freeze> Krav.tekst

Du 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.tekst

Bruke 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_env
$ kilde my_node_env/bin/aktiverer
$ pip installasjonshjul
$ pip install nodeenv
$ nodeenv -p
$ Nodeenv -Versjon
$ node -Versjon

Nå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ø.

Konklusjon

Å 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.