Python Virtualenv Tutorial

Python Virtualenv Tutorial

Når du jobber med et Python -prosjekt, anbefales det å lage et virtuelt miljø for prosjektet, slik at du isolerer prosjektkravene fra systemet. Dessuten er et virtuelt miljø den beste måten å skille avhengighetene når du har forskjellige prosjekter som krever forskjellige versjoner av samme pakke.

Denne guiden tilbyr en praktisk opplæring om Pythons virtuelle miljø. Vi vil begynne med å forstå hva et virtuelt python er, dets fordeler og hvordan vi kan lage, aktivere og slette det virtuelle python.

Forstå python virtuelt miljø

Å bruke virtuelle miljøer er vanlig når du jobber med Python -utvikling. Et virtuelt miljø i Python er et isolert utviklingsmiljø som lar utviklere ha et isolert rom som inneholder en kopi av Python.

I det virtuelle miljøet kan du installere andre verktøy som kreves for et prosjekt. Dessuten kan du ha flere virtuelle miljøer ved å bruke forskjellige versjoner av det samme programmet uten å påvirke de globale pakkene.

Ideelt sett lar et virtuelt miljø deg jobbe med flere Python-kopier av side om side med forskjellige installerte programmer for forskjellige prosjekter. Hver opprettet Python Virtual Environment inneholder Python-tolken og en mappe for de installerte tredjepartsbibliotekene. Endringer gjort i et virtuelt miljø påvirker ikke avhengighetene til andre skapte virtuelle miljøer.

Hvorfor bruke python virtuelle miljøer?

Å jobbe i et virtuelt miljø sikrer et isolert arbeidsrom som ikke kan påvirke systemomfattende pakker. Derfor kan du ha rom for å utvikle prosjektene dine uten å påvirke andre pakker eller avhengigheter installert i systemet.

Dessuten er det mulig å ha flere virtuelle miljøer som har de samme installerte programmene, men kjører på forskjellige versjoner. For eksempel, hvis prosjektet ditt krever Numpy 2.1 og en annen krever Numpy 2.0, Du kan installere den spesifikke versjonen for hvert virtuelle miljø. Å bruke et virtuelt miljø sikrer at vi ikke får kompatibilitetsproblemer, da Python ikke kan ha to versjoner av en pakke som kjører på ett system.

Når du jobber med et Python -prosjekt, er det best å skape et virtuelt miljø og installere alle nødvendige avhengigheter i stedet for å installere pakker globalt. På den måten vil du holde systemet ditt rent og unngå globale avhengighetsfeil.

Arbeide med python virtuelle miljøer

Vi har diskutert hva et virtuelt python er og hvilke fordeler det tilbyr. Neste trinn er å lage og bruke et virtuelt python -miljø.

Python tilbyr to verktøy for å lage et virtuelt miljø, Virtualenv, og Venv. Virtualenv Fungerer med eldre Python -versjoner og må installeres på systemet før du kan bruke det. Imidlertid Venv Støtter nyere Python -versjoner og kommer forhåndsinstallert med Python 3.3 eller høyere versjoner. Så sjekk Python -versjonen du bruker for å vite hvilket verktøy som fungerer for saken din.

Skape et virtuelt python virtuelt miljø

For denne opplæringen bruker vi Ubuntu 22.04, og det kjører Python3. Så vi vil bruke Venv som et virtuelt miljøverktøy. Vi oppretter en mappe der vi vil gjøre vårt virtuelle python -miljø. La oss navngi prosjektmappen vår Linuxhint.\

Før vi skaper det virtuelle miljøet, må du ha Pip installert. Bekreft det ved å sjekke versjonen.

$ pip -Versjon

Hvis PIP ikke er installert, installer den som følger.

$ sudo apt install python3-pip

For Debian/Ubuntu-systemer må du installere Python3-Venv-pakken for at du skal bruke den til å lage ditt virtuelle miljø. Hvis du prøver å lage det virtuelle miljøet uten å installere pakken, vil du møte denne feilen.

Så kjør kommandoen nedenfor for å installere Pyuthon3-Venv-pakken

$ sudo apt install python3.10-VEV

Trykk Y når du blir bedt om å fortsette med installasjonen.

Du er nå klar til å lage ditt virtuelle miljø i prosjektmappen ved hjelp av VENV -verktøyet. Bruk kommandoen nedenfor og navngi det virtuelle miljøet etter din smak. I vårt tilfelle har vi navngitt det test1.

$ python3 -m venv test1

Du vil merke at en ny mappe vil bli opprettet i prosjektmappen, og bekrefter at vårt virtuelle miljø er blitt opprettet med suksess. Den opprettede mappen inneholder de nødvendige verktøyene som kreves for Python -utvikling.

Derfor har du nå en kopi av Python i et virtuelt miljø der du kan installere de nødvendige pakkene for prosjektet ditt.

Aktivere det virtuelle python

Du kan ikke bruke det skapte virtuelle miljøet før du aktiverer det. Her er syntaks for å aktivere det virtuelle miljøet.

$ kilde virtualenv-name/bin/aktiver

Når du har aktivert det virtuelle miljøet, vil du merke at navnet vil vises i starten av terminalpromptet. En annen måte å bekrefte om det virtuelle miljøet er aktivert er ved å bruke hvilken Kommando for å finne Python i det virtuelle miljøet.

Hvis det virtuelle miljøet er aktivert, vil kommandoen returnere veien til Python -tolken som er opprettet når det virtuelle miljøet er aktivert.

$ som python

Merk at Python -versjonen for systemet ditt er den samme versjonen som er tilgjengelig i det skapte virtuelle miljøet. Sjekk Python -versjonen for å bekrefte. Vi brukte Python 3.10.6 Når du lager det virtuelle miljøet, og det er den samme versjonen som er tilgjengelig i det aktiverte virtuelle miljøet.

Du kan nå begynne å installere pakker for din Python -utvikling.

Installere pakker i det virtuelle miljøet

I et nyopprettet python virtuelt miljø, bare Pip og Setuptools er tilgjengelig. De to pakkene er installert som standard, og du kan liste de tilgjengelige pakkene ved å bruke PIP -kommandoen.

Du kan bruke PIP -kommandoen når du vil ha flere pakker. Her er syntaksen for å installere en pakke i det virtuelle miljøet.

$ python3 -m pip installasjon

Ovennevnte syntaks vil installere den nyeste versjonen for den spesifiserte pakken. La oss se inn på dette eksemplet for å installere Numpy Med kommandoen nedenfor.

$ python3 -m pip install numpy

Pip samler inn den spesifiserte pakken, laster den ned og installerer den. Når installasjonen er fullført, kan du liste opp de installerte pakkene ved hjelp av PIP -liste Kommando for å sjekke om Numpy er tilgjengelig og den installerte versjonen.

For denne saken installerte vi Numpy 1.23.5. Hva om vi ønsket en lavere numpy versjon enn 1.2? I så fall kan du spesifisere den spesifikke versjonen ved å bruke syntaksen nedenfor.

$ python3 -m pip installer numpy == 1.20.0

Her spesifiserer vi den nøyaktige versjonen ved å bruke det doble like tegnet.

Alternativt, ved å bruke det mindre enn skiltet med syntaks nedenfor, kan du spesifisere PIP for å installere hvilken som helst lavere versjon.

$ python3 -m pip installer 'numpy<1.20'

La oss gå foran og se hvordan vi skal oppnå det, men først må vi installere den installerte Numpy -versjonen. Bruk kommandoen nedenfor for å avinstallere den.

$ python3 -m pip avinstallerer numpy

trykk y For å fullføre avinstalleringen. Vi kan bekrefte at Numpy ikke lenger vises i listen over installerte pakker.

Når det er avinstallert, la oss prøve å installere en nedre numpy versjon.

På bildet over vil du merke at Pip installerer Numpy-1.19.5, som er en lavere versjon enn 1.20. Denne funksjonen er nyttig når du bygger et Python -prosjekt som er avhengig av eldre versjoner av en gitt pakke. I så fall kan du komfortabelt håndtere utviklingen ved å installere enhver versjon av en nødvendig pakke.

Anta at du ønsket en høyere versjon. I så fall kan du bruke større enn tegn, Som illustrert i syntaksen nedenfor.

$ python3 -m pip installer 'pakkenavn> versjon'

For eksempel spesifiserer eksemplet nedenfor at vi vil ha numpy installert, men av en høyere versjon enn 1.20. Vi kan merke oss i den siste linjen at Pip installerte Numpy versjon 1.23.5, som er det vi ønsket.

Når du jobber med et virtuelt python, er det best å spesifisere den nøyaktige pakkeversjonen du vil bruke til det gitte prosjektet. Den gode nyheten er at du kan ha to prosjekter som bruker samme pakke, men med en annen versjon, avhengig av hvert prosjekts krav.

For eksempel, hvis vi ville installere Pandas versjon 1.3.5, Vi kan bruke kommandoen nedenfor.

$ python3 -m pip installer pandas == 1.3.5

I eksemplet ovenfor merker vi at installasjon av pandaer også automatisk installerte avhengighetene. Derfor, hvis vi viser de tilgjengelige pakkene, vil vi legge merke til at vi installerte den spesifiserte pakken og dens versjon og andre avhengigheter.

Reprodusere det virtuelle miljøet

Når du jobber med et virtuelt python, er det vanlig å reprodusere det når noen vil jobbe med det samme prosjektet ved å bruke de samme pakkene og versjonene du installerte. Det kan være at du vil dele prosjektet ditt med noen, og de må bruke de samme pakkene du har brukt til prosjektet for å kjøre. I så fall, først, bruk fryse Kommando for å liste opp alle prosjektets pakker og de installerte versjonene.

$ pip frys

Vårt mål er å skape identiske miljøer med de samme avhengighetene. Derfor bør vi eksportere output ovenfor til en tekstfil, slik at vi kan dele den med noen for å skape et identisk miljø.

Slik eksporterer du avhengighetene.

$ pip frys> Identisk.tekst

Vi kan bekrefte innholdet i den opprettede tekstfilen for å sikre at vi har de samme avhengighetene før vi deler den.

La oss nå reprodusere det identiske miljøet i samme prosjektmappe og aktivere det.

For å reprodusere miljøet, installer avhengighetene ved hjelp av tekstfilen vi genererte tidligere for det andre virtuelle miljøet. Slik installerer du avhengighetene.

$ pip install -r identisk.tekst

Pip vil installere alle de navngitte pakkene og deres versjoner.

Det siste trinnet er å bekrefte at vi har et identisk virtuelt miljø som inneholder alle nødvendige avhengigheter. Kontroller at ved bruk av PIP -listekommandoen.

Vi kan bekrefte at vi nå har et identisk virtuelt miljø. Merk at den delte filen lar den andre personen lage et identisk virtuelt miljø som inneholder pakker, Python -tolk osv. Kildekoden for prosjektet er imidlertid ikke inneholdt i det virtuelle miljøet, men i prosjektmappen.

Så hvis du vil dele kildekoden, kopier den fra prosjektmappen, ikke den virtuelle miljømappen.

Deaktivering av det virtuelle miljøet

Det er to alternativer for å deaktivere et virtuelt python -miljø. Du kan deaktivere det for å få tilgang til det senere eller slette det virtuelle miljøet uten å påvirke systemet ditt.

Anta at du vil deaktivere det virtuelle miljøet og bytte for å bruke en annen. Bruke deaktiver kommando.

$ deaktiverer

Når du deaktiverer det virtuelle miljøet, vil terminalpromptet tilbake til prosjektmappen. Hvis du foretrekker å slette det virtuelle miljøet, må du slette mappen ved å bruke rm kommando.

I eksemplet nedenfor har vi slettet Demo2 virtuelt miljø.

Slik sletter du et python virtuelt miljø helt.

Konklusjon

Virtuelle miljøer kommer godt med når du vil jobbe med forskjellige prosjekter som krever forskjellige versjoner av samme pakke. Alt som trengs er å skape et virtuelt miljø for hvert prosjekt og installere avhengighetene uten å påvirke andre virtuelle miljøer eller globale pakker. Denne guiden har diskutert hva et virtuelt python er, hvorfor du trenger det, og hvordan du lager det, aktiverer det og sletter det virtuelle miljøet. Med det kan du implementere det samme for Python -prosjektene dine.