Põhjalik juhend Pythoni virtuaalsete keskkondade seadistamiseks virtualenv ja venv abil. Tagab projekti isolatsiooni ja sõltuvuste haldamise arendajatele.
Python Virtualenv Seadistus: Isolaatori Keskkonna Loomine
Pythoni arendusmaailmas on sõltuvuste haldamine ja projekti isolatsiooni tagamine robustsete ja hooldatavate rakenduste loomisel ülioluline. Üks tõhusamaid viise selle saavutamiseks on virtuaalsete keskkondade kasutamine. Virtuaalne keskkond on iseseisev kataloog, mis sisaldab konkreetset Pythoni interpreteerijat koos selle installitud pakettidega. See võimaldab teil töötada samaaegselt mitme projektiga, millest igaühel on oma unikaalne sõltuvuste komplekt, ilma et erinevate pakettide versioonidest tingitud konfliktid tekiksid.
Miks kasutada virtuaalseid keskkondi?
Kujutage ette olukorda, kus töötate kahe Pythoni projektiga. Projekt A vajab konkreetse teegi versiooni 1.0, samas kui projekt B vajab sama teegi versiooni 2.0. Ilma virtuaalsete keskkondadeta põhjustaks teegi globaalne installimine tõenäoliselt ühilduvusprobleeme ühel või teisel projektil. Virtuaalsed keskkonnad lahendavad selle probleemi, pakkudes iga projekti jaoks eraldatud ruume, kus saab olla oma paketikomplekt.
Siin on mõned peamised virtuaalsete keskkondade kasutamise eelised:
- Sõltuvuste isolatsioon: Igal projektil on oma sõltuvuste komplekt, mis väldib konflikte.
- Versioonihaldus: Erinevate projektide jaoks erinevate pakettide versioonide lihtne haldamine.
- Projekti reprodutseeritavus: Tagab, et teie projekti saab teistel masinatel hõlpsasti samade sõltuvustega reprodutseerida.
- Puhtad globaalsed keskkonnad: Hoiab teie globaalse Pythoni installatsiooni puhta ja korras.
Virtuaalsete keskkondade seadistamine: virtualenv ja venv
Pythonis virtuaalsete keskkondade loomiseks on kaks peamist tööriista: virtualenv
ja venv
. virtualenv
on kolmanda osapoole pakett, mis on olnud kasutusel juba pikka aega ja pakub laia valikut funktsioone. venv
on sisseehitatud moodul Python 3.3 ja uuemates versioonides, pakkudes kergekaalulist alternatiivi virtualenv
'ile. Mõlemad tööriistad saavutavad sama eesmärgi: luua eraldatud Pythoni keskkonnad.
virtualenv'i kasutamine
virtualenv
on populaarne ja laialt levinud tööriist virtuaalsete keskkondade loomiseks. Siin on, kuidas seda kasutada:
Installimine
Esmalt peate installima virtualenv
. Saate seda teha pipi abil:
pip install virtualenv
Virtuaalse keskkonna loomine
Kui virtualenv
on installitud, saate oma projektikataloogis luua virtuaalse keskkonna. Navigeerige terminalis oma projektikataloogi ja käivitage järgmine käsk:
virtualenv minu_keskkond
See käsk loob uue kataloogi nimega minu_keskkond
(saate valida mis tahes nime), mis sisaldab virtuaalset keskkonda. Kataloog minu_keskkond
sisaldab järgmisi alamkatalooge:
bin
: Sisaldab Pythoni käivitatavat faili ja aktiveerimisskripte.include
: Sisaldab C-päiseid Pythoni laienduste kompileerimiseks.lib
: Sisaldabsite-packages
kataloogi, kuhu installitud paketid paigutatakse.
Virtuaalse keskkonna aktiveerimine
Virtuaalse keskkonna kasutamiseks peate selle aktiveerima. See muudab teie shelli keskkonnamuutujad, et kasutada virtuaalse keskkonna Pythoni interpreteerijat ja pakette.
Linuxis/macOS-is kasutage järgmist käsku:
source minu_keskkond/bin/activate
Windowsis kasutage järgmist käsku:
minu_keskkond\Scripts\activate
Pärast aktiveerimist märkate, et teie terminali käsuviip muutub, et näidata aktiivset virtuaalset keskkonda (nt (minu_keskkond) $
). Nüüd installitakse kõik pipiga installitavad paketid virtuaalsesse keskkonda ja need ei mõjuta teie globaalset Pythoni installatsiooni ega teisi virtuaalseid keskkondi.
Virtuaalse keskkonna deaktiveerimine
Kui olete projektiga töötamise lõpetanud, saate virtuaalse keskkonna deaktiveerida, käivitades järgmise käsu:
deactivate
See tagastab teie terminali käsuviiba normaalsesse olekusse ja lülitub tagasi teie globaalse Pythoni installatsiooni kasutamisele.
venv'i kasutamine
venv
on sisseehitatud moodul Python 3.3 ja uuemates versioonides, pakkudes kergekaalulist alternatiivi virtualenv
'ile. Üldiselt soovitatakse kasutada venv
'i, kui kasutate Pythoni versiooni, mis seda sisaldab.
Virtuaalse keskkonna loomine
venv
'iga virtuaalse keskkonna loomiseks navigeerige terminalis oma projektikataloogi ja käivitage järgmine käsk:
python3 -m venv minu_keskkond
See käsk loob uue kataloogi nimega minu_keskkond
(või mis tahes teie valitud nime), mis sisaldab virtuaalset keskkonda, sarnaselt virtualenv
'ile.
Virtuaalse keskkonna aktiveerimine
venv
'i aktiveerimisprotsess on sama mis virtualenv
'il. Linuxis/macOS-is kasutage järgmist käsku:
source minu_keskkond/bin/activate
Windowsis kasutage järgmist käsku:
minu_keskkond\Scripts\activate
Pärast aktiveerimist näitab teie terminali käsuviip aktiivset virtuaalset keskkonda ja kõik installitavad paketid isoleeritakse keskkonnas.
Virtuaalse keskkonna deaktiveerimine
venv
keskkonna deaktiveerimine on samuti sama nagu virtualenv
'iga:
deactivate
Sõltuvuste haldamine pipiga
Pärast virtuaalse keskkonna aktiveerimist saate pipi abil installida, uuendada ja desinstallida pakette. Siin on mõned levinumad pip käsud:
- Paketi installimine:
pip install paketi_nimi
(ntpip install requests
) - Paketi konkreetse versiooni installimine:
pip install paketi_nimi==versioon
(ntpip install requests==2.26.0
) - Paketi uuendamine:
pip install --upgrade paketi_nimi
(ntpip install --upgrade requests
) - Paketi desinstallimine:
pip uninstall paketi_nimi
(ntpip uninstall requests
) - Installitud pakettide loetelu:
pip list
võipip freeze
Nõuete faili loomine
Selle tagamiseks, et teie projekti sõltuvused oleksid teistel masinatel hõlpsasti reprodutseeritavad, on parim tava luua requirements.txt
fail. See fail loetleb kõik paketid ja nende versioonid, mis on teie virtuaalsesse keskkonda installitud.
requirements.txt
faili loomiseks aktiveerige oma virtuaalne keskkond ja käivitage järgmine käsk:
pip freeze > requirements.txt
See loob teie projektikataloogi faili nimega requirements.txt
. Seejärel saate selle faili lisada oma projekti versioonihaldussüsteemi (nt Git), et teised saaksid hõlpsasti samad sõltuvused installida.
Nõuete failist installimine
requirements.txt
failis loetletud sõltuvuste installimiseks aktiveerige oma virtuaalne keskkond ja käivitage järgmine käsk:
pip install -r requirements.txt
See installib kõik paketid ja nende määratud versioonid requirements.txt
failist.
Parimad praktikad virtuaalsete keskkondade kasutamiseks
Siin on mõned parimad praktikad virtuaalsete keskkondade kasutamisel:
- Looge igale projektile virtuaalne keskkond: See tagab, et igal projektil on oma eraldatud sõltuvuste komplekt.
- Hoidke oma nõuete fail ajakohasena: Värskendage regulaarselt oma
requirements.txt
faili, et see kajastaks teie projekti praegusi sõltuvusi. - Kasutage versioonihaldust: Lisage oma virtuaalse keskkonna kataloog oma projekti
.gitignore
faili, et vältida selle versioonihaldusse salvestamist. Salvestage ainultrequirements.txt
fail. - Nimetage oma virtuaalseid keskkondi järjepidevalt: Kasutage oma virtuaalsete keskkondade jaoks järjepidevat nimetamisreeglit, et vältida segadust. Näiteks võiksite neid nimetada
.venv
võivenv
. - Kasutage virtuaalse keskkonna haldurit: Kaaluge virtuaalse keskkonna haldurite, nagu
virtualenvwrapper
võiconda
, kasutamist mitme virtuaalse keskkonna haldamise lihtsustamiseks.
Virtuaalsete keskkondade haldurid
Kuigi virtualenv
ja venv
on suurepärased tööriistad virtuaalsete keskkondade loomiseks, võivad need muutuda tülikaks, kui töötate mitme projektiga. Virtuaalsete keskkondade haldurid pakuvad täiendavaid funktsioone ja mugavust virtuaalsete keskkondade haldamiseks.
virtualenvwrapper
virtualenvwrapper
on virtualenv
'i laienduste komplekt, mis muudab virtuaalsete keskkondade loomise, haldamise ja nendega töötamise lihtsamaks. See pakub käske virtuaalsete keskkondade loomiseks, aktiveerimiseks, deaktiveerimiseks ja kustutamiseks, samuti saadaolevate keskkondade loetlemiseks.
virtualenvwrapper
'i installimiseks kasutage pipi:
pip install virtualenvwrapper
virtualenvwrapper
'i seadistamine ja kasutamine sõltub teie operatsioonisüsteemist. Üksikasjalike juhiste saamiseks vaadake virtualenvwrapper
'i dokumentatsiooni.
conda
conda
on avatud lähtekoodiga paketi-, sõltuvuste ja keskkonnahaldussüsteem. Seda kasutatakse sageli andmeteaduses ja teaduslikus arvutuses, kuid seda saab kasutada ka üldiseks Pythoni arenduseks. conda
võimaldab teil luua ja hallata virtuaalseid keskkondi, samuti installida ja hallata pakette.
conda
installimiseks laadige alla ja installige Anaconda või Miniconda Anaconda veebisaidilt.
Uue conda keskkonna loomiseks kasutage järgmist käsku:
conda create --name minu_keskkond python=3.9
Keskkonna aktiveerimiseks:
conda activate minu_keskkond
Keskkonna deaktiveerimiseks:
conda deactivate
Conda pakub terviklikku tööriistade komplekti sõltuvuste ja keskkondade haldamiseks, muutes selle keerukate projektide jaoks populaarseks valikuks.
Globaalsed kaalutlused ja parimad praktikad
Globaalsete meeskondade või rakenduste erinevates piirkondades kasutuselevõtmisel kaaluge järgmisi tegureid:
- Järjepidevad Pythoni versioonid: Veenduge, et kõik meeskonnaliikmed kasutavad arenduseks sama Pythoni versiooni. See väldib ootamatuid ühilduvusprobleeme integratsiooni ja kasutuselevõtu ajal. Näiteks peaksid arendusmeeskond Tokyos, Jaapanis ja teine Londonis, Ühendkuningriigis, kokku leppima ühes Pythoni versioonis.
- Standardiseeritud keskkonnad: Kasutage koos virtuaalsete keskkondadega tööriistu nagu Docker või Vagrant, et luua erinevate operatsioonisüsteemide ja infrastruktuuride vahel ühtsed arendus- ja kasutuselevõtu keskkonnad. See tagab, et teie rakendus käitub ootuspäraselt, olenemata alusest süsteemist. Kujutage ette macOS-il arendatud rakenduse kasutuselevõttu Linuxi serverisse; Dockeri kasutamine tagab järjepideva käitumise.
- Sõltuvuste kinnitamine: Kasutage oma `requirements.txt` failis täpseid versiooninumbreid. See tagab, et kõik kasutavad täpselt samu sõltuvuste versioone, leevendades võimalikke vigu, mis on tingitud erinevatest teegi versioonidest.
requests>=2.0
asemel kasutagerequests==2.28.1
. - Platvormidevaheline ühilduvus: Testige oma rakendust erinevates operatsioonisüsteemides (Windows, macOS, Linux), et varakult arendusprotsessis tuvastada ja lahendada kõik platvormispetsiifilised probleemid. Pilvepõhised CI/CD torujuhtmed võivad automatiseerida testimist erinevatel platvormidel.
- Ajatsoonid: Ajatundliku andmetöötluse korral kasutage ühtset ajatsooni (nt UTC) ja käsitlege ajatsoonide teisendusi nõuetekohaselt. Vältige kohalikele ajatsoonidele tuginemist, kuna need võivad erinevates piirkondades varieeruda.
- Märgikodeering: Kasutage kõigi tekstifailide (sh lähtekoodi ja konfiguratsioonifailide) jaoks UTF-8 kodeeringut, et tagada rahvusvaheliste märkide nõuetekohane töötlemine.
Levinud probleemide tõrkeotsing
Siin on mõned levinud probleemid, millega võite virtuaalsete keskkondadega töötades kokku puutuda, ja nende lahendused:
- Aktiveerimisprobleemid: Kui teil on probleeme virtuaalse keskkonna aktiveerimisega, veenduge, et kasutate oma operatsioonisüsteemi ja shelli jaoks õiget aktiveerimisskripti. Kontrollige uuesti aktiveerimisskripti teed ja veenduge, et see on täidetav.
- Pakettide installimise probleemid: Kui teil on probleeme pakettide installimisega, veenduge, et olete virtuaalse keskkonna aktiveerinud ja kasutate õiget pipi versiooni. Võimalik, et peate pipi uuendama uusimale versioonile.
- Sõltuvuskonfliktid: Kui teil tekib sõltuvuskonflikte, proovige kasutada
pipdeptree
võipip-tools
, et analüüsida oma sõltuvusi ja tuvastada konfliktis olevad paketid. Konfliktide lahendamiseks peate võib-olla teatud pakette uuendama või alla võtma. - Virtuaalse keskkonna rikkumine: Kui teie virtuaalne keskkond läheb rikkis, võite proovida selle kustutada ja uuesti algusest peale luua.
Kokkuvõte
Virtuaalsed keskkonnad on Pythoni arendajate jaoks hädavajalik tööriist, mis pakub sõltuvuste isolatsiooni, versioonihaldust ja projekti reprodutseeritavust. Kasutades virtualenv
'i või venv
'i, saate tagada, et teie projektid on üksteisest eraldatud ja teie globaalne Pythoni installatsioon jääb puhtaks. Pidage meeles, et iga projekti jaoks tuleb luua requirements.txt
fail, et hõlbustada sõltuvuste lihtsat reprodutseerimist. Järgides selles juhendis esitatud parimaid praktikaid, saate oma Pythoni arendusvoogu sujuvamaks muuta ning luua robustsemaid ja hooldatavamaid rakendusi. Globaalse koostöö jaoks on standardiseeritud keskkonnad ja hoolikas sõltuvuste haldamine esmatähtsad.