Python

Hvordan lage og administrere Python Virtual Miljøer

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

Disse kravene og brukssakene kan være en smerte å håndtere når forskjellige applikasjoner krever forskjellige versjoner av samme bibliotek. Heldigvis gir Python en robust løsning for å isolere utviklingsmiljøer ved hjelp av virtuelle miljøer.

Hva er et virtuelt Python-miljø?

Et virtuelt Python-miljø er et selvstendig katalogtreet som inneholder en spesifikk Python-installasjon sammen med alle standardbibliotekene. Programmer som krever en bestemt versjon av biblioteket, kan isoleres i disse virtuelle miljøene uten å forurense systemet eller andre Python-implementeringer. Hvert virtuelle miljø er en egen sandkasse, slik at du kan opprette så mange som virtuelle miljøer du vil ha.

Opprette og administrere virtuelle miljøer

For å opprette virtuelle miljøer i Ubuntu, må du først installere den nødvendige avhengighetspakken ved å kjøre kommando:

$ sudo apt installere python3-venv

Du kan nå opprette virtuelle miljøer ved å kjøre kommando:

$ python3 -m venv myenv

Å kjøre kommandoen ovenfor vil opprette et virtuelt miljø kalt “myenv” i hjemmekatalogen din. Hvis du vil bruke en hvilken som helst annen versjon av Python, kan du erstatte “python3” ovenfor med full vei til plasseringen av den alternative Python-binæren.

For å aktivere det tilpassede miljøet som er opprettet ovenfor, kjør kommandoen:

$ kilde myenv / bin / aktiver

Når det virtuelle miljøet er aktivert, endres shellprompten for å gjenspeile det nåværende virtuelle miljøet du bruker. Hvis du kjører “sys.path ”-kommandoen inne i Python-tolk, kan du se at virtuelt miljø fungerer som det skal. Python vil nå se etter pakker i det tilpassede miljøet du nettopp har opprettet.

Hvis shell-ledeteksten ikke viser navnet på det virtuelle miljøet som prefiks, vil enhver Python-fil du kjører bruke system Python i stedet. Så det er nødvendig å hente virtuelt miljø før du kjører en fil i ditt tilpassede miljø.

Du kan deaktivere et virtuelt miljø ved å kjøre kommando:

$ deaktiver

Hvert virtuelt Python-miljø inkluderer en “pyvenv.cfg-fil som har en "include-system-site-packages" -nøkkel som er satt til "false" som standard. Denne nøkkelen forteller virtuelt miljø om de skal bruke systemstedspakker eller ikke. Hvis satt til "sann", 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 importerbare i det virtuelle miljøet.

For å slette et virtuelt miljø, trenger du bare å slette den virtuelle miljøkatalogen, så blir den borte.

Det er mulig å opprette og lagre virtualenv på eksterne USB-stasjoner. Du må ha USB-stasjon formatert i NTFS eller EXT filsystem. FAT32-filsystemet støtter ikke symlinker som er et krav for at virtuelle miljøer skal fungere.

Bruke Pip Package Manager til å installere pakker i virtuelt miljø

Inne i et virtuelt miljø kan du bruke pip-pakkebehandling for å 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 pakkenavn):

$ pip install pygame

Et søkbart lager av pip-pakker finner du her.

For å avinstallere en pakke, bruk kommandoen:

$ pip avinstallere pygame

For å se alle versjoner av en pakke, kjør kommando:

$ pip install pygame ==

For å nedgradere eller oppgradere til en bestemt versjon, bruk kommando (erstatt “1.9.5 ”med ønsket versjonsnummer):

$ pip install pygame == 1.9.5

For å oppgradere en pakke til den nyeste versjonen, kjør kommando:

$ pip install - oppgrader 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 fryse> krav.tekst

Du kan bruke kravene ovenfor.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 virtuelle Python-miljøer med applikasjoner som ikke er Python

Programmer skrevet på andre programmeringsspråk kan sandkasseres i virtuelle Python-miljøer så lenge pip eller en hvilken som helst annen Python-pakkebehandling gir binærfiler og pakker for disse alternative programmeringsspråkene / -rammene.

Her er et lite eksempel som forklarer installering av Node.js i virtuelt Python-miljø. Kjør følgende kommandoer en etter en:

$ python3 -m venv my_node_env
$ kilde my_node_env / bin / aktivere
$ pip installeringshjul
$ pip installere nodeenv
$ nodeenv -p
$ nodeenv --versjon
$ node - versjon

Når du er ferdig, vil du ha en helt isolert node.js miljø. Du kan opprette så mange virtuelle miljøer du vil for forskjellige Node.js applikasjoner. Pakker installert via npm pakkebehandling vil bare være begrenset til aktivert virtuelt miljø.

Konklusjon

Å lage et virtuelt Python-miljø er en utmerket måte å beholde utviklingsmiljøer på. Hvert virtuelle miljø har sin egen Python-binær og sitt eget uavhengige sett med pakker. Å utvikle flere Python-applikasjoner på samme system kan raskt forurense hjemmekatalogen og rotkatalogen, og virtuelle miljøer gjør det så enkelt å vedlikeholde dem.

SuperTuxKart for Linux
SuperTuxKart er en flott tittel designet for å gi deg Mario Kart-opplevelsen gratis på Linux-systemet ditt. Det er ganske utfordrende og morsomt å spi...
Kjemp om Wesnoth-opplæringen
Kampen om Wesnoth er et av de mest populære open source-strategispillene du kan spille på dette tidspunktet. Ikke bare har dette spillet vært i utvikl...
0 A.D. Opplæringen
Ut av de mange strategispillene der ute, 0 A.D. klarer å skille seg ut som en omfattende tittel og et veldig dypt, taktisk spill til tross for å være ...