Python paketes ekosistēma ļauj vienkārši izmantot miljoniem citu izstrādātāju darbu pip instalēt
komandu. Python virtuālās vides ļauj jums izolēt projektus un to paketes viens otram.
Bet žonglēšana ar vidi un pakotnēm atsevišķi var būt apgrūtinoša. Apšaubāmi, ja jūsu projektiem ir noteiktas paketes prasības, un jūs vēlaties koncentrēties uz attīstību, nevis uzturēšanu. Mums ir nepieciešams veids, kā kopīgi pārvaldīt vidi un paketes.
Pipenv apvieno Python virtuālo vidi un Python pakotņu pārvaldību vienā rīkā. Pipenv nodrošina, ka katrs projekts izmanto katras nepieciešamās paketes pareizo versiju un ka katrai no šīm paketēm ir arī pareizās atkarības.
Turklāt Pipenv ģenerē jūsu projekta atkarību sarakstu, kas var ceļot ar to, ļaujot citiem lietotājiem vai izstrādātājiem to pašu projektu izveidot tāpat. Arī citiem lietotājiem būs jāinstalē Pipenv, lai pareizi izveidotu Pipenv pārvaldītu projektu, taču, par laimi, Pipenv instalēšana un izmantošana ir brīze.
Kā darbojas Pipenv
Parasti, izveidojot Python projektu un tā pakotnēm izmantojot virtuālo vidi, jums tiek uzdots pašam izveidot virtuālo vidi (izmantojot komandupy -m venv
), instalējot tajā atkarības un manuāli izsekojot atkarības.
Pipenv nodrošina veidu, kā to visu izdarīt pusautomātiski. Virtuālā vide jūsu projektam tiek izveidota un pārvaldīta jums, instalējot paketes, izmantojot Pipenv komandrindas saskarni. Atkarības tiek izsekotas un bloķētas, un jūs varat pārvaldīt attīstības un izpildlaika atkarības atsevišķi. Varat arī migrēt no esošās vecās skolas prasības.txt
failus, tāpēc jums nav nepieciešams saplēst savu projektu un sākt to no jauna, lai labi izmantotu Pipenv.
Ņemiet vērā, ka atšķirībā no citiem Python projektu pārvaldības rīkiem (piemēram, Dzeja), Pipenv nepārvalda jūsu projekta “sastatnes”. Tas ir, Pipenv neveido projekta direktorijas iekšējo struktūru ar izspēles testiem, dokumentācijas pamatiem utt., Bet galvenokārt koncentrējas uz pakotņu un vides pārvaldību. Tas padara Pipenv par labu izvēli, ja vēlaties tikai rīku, kas koncentrējas uz virtuālo vidi un pakotnēm, nevis visu vienā risinājumu.
Sāciet darbu ar Pipenv
Pipenv tiek instalēts tāpat kā lielākā daļa citu Python pakotņu: instalēt - lietotājs
. The --lietotājs
Ieteicams izmantot opciju, lai Pipenv nebūtu pretrunā ar citām visas sistēmas pakotnēm. Jums arī jāpievieno ceļš uz lietotāju bāzes bināro direktoriju sistēmas ceļam, lai Pipenv komandas tiktu novirzītas pareizajā vietā.
Ja jūs plānojat padarīt Pipenv par konsekventu sava darbplūsmas daļu, ieteicams arī saglabāt pēc iespējas minimālu pamata Python instalāciju. Šis padoms attiecas uz lielāko daļu jebkuru Python instalāciju, kurā tiek izmantotas virtuālās vides.
Izveidojiet jaunu projektu kopā ar Pipenv
Lai sāktu pilnīgi jaunu projektu ar Pipenv, vienkārši izveidojiet direktoriju un aizpildiet to ar failiem, kurus parasti izveidojat projektam. Ja jums ir tendence sastatīt projektu ejot, varat sākt ar tukšu direktoriju.
Pakotņu instalēšana projektam neatšķiras no Pipenv nekā ar Pip; patiesībā sintakse ir gandrīz vienāda. Atveriet konsoli projekta direktorijā un ierakstiet pipenv instalēt
instalēt projektam paketi. Lai norādītu, ka pakete domāta attīstību, izmantojiet -d
karogu. Tu vari izmantot pip
sintakse, lai apzīmētu konkrētu pakotnes versiju (piem., melns == 13.0b1
).
Instalējot paketi ar Pipenv, notiek divas lietas. Pirmkārt, Pipenv pārbaudīs, vai šim projekta direktorijam jau ir izveidota virtuālā vide. Ja jā, Pipenv instalēs pakotni esošajā virtuālajā vidē. Ja nē, Pipenv izveidos virtuālo vidi, kurā tiks izmantots tas pats Python izdevums, kas izmantots Pipenv darbināšanai. Ņemiet vērā, ka virtuālā vide ir nē izveidots pašā projekta direktorijā; tas ir izveidots direktorijā, kuru jūsu lietotāja profilā pārvalda Pipenv.
Otrkārt, Pipenv instalēs pieprasītās pakotnes virtuālajā vidē. Kad instalēšana būs pabeigta, Pipenv ziņos par visu paveikto, ieskaitot ceļu uz virtuālo vidi, ja tas būtu jāizveido.
Jums parasti nav jāzina ceļš uz virtuālo vidi, ko rada Pipenv. Lai aktivizētu vidi, vienkārši dodieties uz sava projekta direktoriju un izmantojietpipenv apvalks
lai palaistu jaunu čaulas sesiju vai izmantotupipenv palaist
tieši izpildīt komandu. Piemēram, izmantojietpipenv palaist mypy
lai palaistu komandrindas rīka versiju mypy
(pieņemot mypy
rīks tika instalēts virtuālajā vidē), vai pipenv palaist pitonu -m
lai palaistu virtuālajā vidē pieejamo Python moduli.
Pipenv un lockfiles
Skatieties direktorijā, kad esat instalējis paketes ar Pipenv, un jūs redzēsiet divus failus, Pipfile
un Pipfile.lock
. Abus automātiski ģenerē Pipenv, un tos nevajadzētu rediģēt tieši, jo tie raksturo pakotņu stāvokli projektā.
Pipfile
ir vienkāršākais no abiem. Tajā ir tikai uzskaitītas projektam nepieciešamās paketes, no kurienes tās tiek instalētas (noklusējums ir PyPI) un kura Python versija ir nepieciešama, lai visu palaistu. Pipfile.lock
ir sarežģītāka. Tajā ir uzskaitīta katra pakete kopā ar informāciju par versiju un SHA-256 jaukumiem, kas ģenerēti no paketes. Sajaukšana tiek izmantota, lai nodrošinātu instalēto pakotņu atbilstību precīzi kas ir norādīts - ne tikai versijas numurs, bet arī iegūtais saturs.
Strādājot ar projektu, kura pakotņu pārvaldībai izmanto Pipenv, vēlaties pievienot Pipfile
un Pipfile.lock
failus projekta versiju vadības repozitorijā. Visas izmaiņas, kas veiktas jūsu projekta paketēs, savukārt mainīs šos failus, tāpēc šīm izmaiņām jābūt izsekotām un versijām.
Izmantojiet Pipenv projektu
Ja lejupielādējat avota repozitoriju projektam, kas pakotņu pārvaldībai izmanto Pipenv, viss, kas jums jādara, ir izpakot repozitorija saturu direktorijā un palaist pipenv instalēt
(nav nepieciešami pakešu nosaukumi). Pipenv lasīs Pipfile
un Pipfile.lock
failus projektam, izveidojiet virtuālo vidi un pēc vajadzības instalējiet visas atkarības.
Visbeidzot, ja vēlaties izmantot Pipenv, lai pārvaldītu projektu, kurā pašlaik tiek izmantots prasības.txt
failu, vienkārši dodieties uz projekta direktoriju un palaidiet pipenv instalēt
. Pipenv atklāsprasības.txt
(vai arī jūs varat izmantot -r
karogu, lai uz to norādītu) un visas prasības migrē uz a Pipfile
.