Programovanie

Ako spravovať projekty Pythonu pomocou Pipenv

Ekosystém balíkov Pythonu vám umožní jednoduchým spôsobom využiť prácu miliónov ďalších vývojárov pip nainštalovať príkaz. Virtuálne prostredia Pythonu vám umožňujú izolovať projekty a ich balíčky navzájom.

Samostatné žonglovanie s prostrediami a balíkmi však môže byť nepraktické. Dvojnásobne, ak majú vaše projekty konkrétne požiadavky na balík a vy sa chcete namiesto údržby zamerať na vývoj. Potrebujeme spôsob spoločnej správy prostredí a balíkov.

Pipenv spája správu virtuálnych prostredí Pythonu a balíkov Pythonu do jedného nástroja. Pipenv zabezpečuje, že každý projekt používa správnu verziu každého potrebného balíka a že každý z týchto balíkov má tiež správne závislosti.

Pipenv ďalej generuje zoznam závislostí vášho projektu, ktoré s ním môžu cestovať, čo umožňuje ostatným používateľom alebo vývojárom nastaviť ten istý projekt rovnakým spôsobom. Ostatní používatelia si tiež budú musieť nainštalovať Pipenv, aby mohli správne nastaviť projekt spravovaný prostredníctvom Pipenv, ale našťastie je inštalácia a používanie Pipenv hračkou.

Ako funguje Pipenv

Spravidla keď vytvoríte projekt Python a použijete pre jeho balíčky virtuálne prostredie, máte za úlohu vytvoriť si virtuálne prostredie sami (pomocou príkazupy -m venv), inštalácia závislostí do neho a manuálne sledovanie závislostí.

Pipenv poskytuje spôsob, ako to všetko urobiť poloautomaticky. Virtuálne prostredie pre váš projekt sa vytvorí a spravuje za vás, keď inštalujete balíčky prostredníctvom rozhrania príkazového riadku Pipenv. Závislosti sa sledujú a uzamykajú a vy môžete nezávisle spravovať vývojové a runtime závislosti. Môžete tiež migrovať z existujúcej starej školy requirements.txt súbory, takže nemusíte projekt roztrhať a začať úplne od začiatku, aby ste mohli Pipenv dobre používať.

Upozorňujeme, že na rozdiel od iných nástrojov na správu projektov v Pythone (napríklad Poetry), Pipenv nespravuje „lešenie“ vášho projektu. To znamená, že Pipenv nevytvára vnútornú štruktúru adresára projektu pomocou falošných testov, stubov dokumentácie atď., Ale zameriava sa hlavne na správu balíkov a prostredia. Vďaka tomu je Pipenv dobrou voľbou, ak chcete iba nástroj zameraný na virtuálne prostredia a balíky, a nie riešenie typu „všetko v jednom“.

Začnite s Pipenvom

Pipenv sa inštaluje rovnakým spôsobom ako väčšina iných balíkov Pythonu: pip install --user pipenv. The - užívateľ Táto možnosť sa odporúča, aby sa zabránilo konfliktu Pipenv s inými systémovými balíkmi. Mali by ste tiež pridať cestu k binárnemu adresáru používateľa do systémovej cesty, aby sa príkazy Pipenv presmerovali na správne miesto.

Ak plánujete, aby bol Pipenv konzistentnou súčasťou vášho pracovného toku, je tiež dobré udržiavať základnú inštaláciu Pythonu čo najmenšiu. Táto rada platí pre väčšinu všetkých inštalácií Pythonu, ktoré využívajú virtuálne prostredia.

Založte nový projekt s Pipenvom

Ak chcete začať s Pipenv úplne nový projekt, stačí vytvoriť adresár a naplniť ho súbormi, ktoré by ste pre projekt normálne vytvorili. Ak máte tendenciu lešiť projekt za pochodu, môžete začať s prázdnym adresárom.

Inštalácia balíkov pre projekt sa s Pipenv výrazne nelíši od Pip; v skutočnosti je syntax takmer rovnaká. Otvorte konzolu v adresári projektu a zadajte text pipenv nainštalovať nainštalovať balík pre projekt. Ak chcete určiť, že balík je pre rozvoja, Použi -d vlajka. Môžeš použiť pip syntax na označenie konkrétnej verzie balíka (napr. čierna == 13,0b1).

Pri inštalácii balíka s Pipenv sa stávajú dve veci. Pipenv najskôr skontroluje, či už bolo pre tento adresár projektu vytvorené virtuálne prostredie. Ak áno, Pipenv nainštaluje balík do existujúceho virtuálneho prostredia. Ak nie, Pipenv vytvorí virtuálne prostredie, ktoré používa rovnaké vydanie Pythonu, aké sa používalo na spustenie Pipenv. Upozorňujeme, že virtuálne prostredie je nie vytvorené v samotnom adresári projektu; je vytvorený v adresári spravovanom Pipenv vo vašom užívateľskom profile.

Po druhé, Pipenv nainštaluje požadované balíčky do virtuálneho prostredia. Po dokončení inštalácie bude Pipenv hlásiť všetko, čo vykonal, vrátane cesty k virtuálnemu prostrediu, ak bolo potrebné ho vytvoriť.

Všeobecne nemusíte poznať cestu do virtuálneho prostredia, ktoré vytvára Pipenv. Ak chcete aktivovať prostredie, jednoducho prejdite do adresára projektu a použitepipenv shell spustiť novú reláciu shellu alebo použiťpipenv beh spustiť príkaz priamo. Napríklad použitepipenv run mypy spustiť verziu nástroja príkazového riadku mypy (za predpokladu mypy nástroj bol nainštalovaný vo virtuálnom prostredí), alebo pipenv spustiť python -m spustiť modul Python dostupný vo virtuálnom prostredí.

Pipenv a zámkové súbory

Po nainštalovaní balíkov s Pipenv nahliadnite do adresára a uvidíte dva súbory, Pipfile a Pipfile.lock. Oba sú automaticky generované Pipenv a nemali by sa upravovať priamo, pretože popisujú stav balíkov v projekte.

Pipfile je z tých dvoch jednoduchší. Uvádza iba zoznam balíkov potrebných pre projekt, odkiaľ sú nainštalované (predvolené je PyPI) a ktorá verzia Pythonu je potrebná na spustenie všetkého. Pipfile.lock je zložitejšia. Uvádza zoznam všetkých balíkov spolu s podrobnosťami verzie a hashmi SHA-256 vygenerovanými z balíka. Hodnoty hash sa používajú na zabezpečenie zhody nainštalovaných balíkov presne čo je uvedené - nielen číslo verzie, ale aj získaný obsah.

Keď pracujete na projekte, ktorý na správu balíkov používa Pipenv, mali by ste pridať Pipfile a Pipfile.lock súbory do úložiska riadenia verzií projektu. Všetky zmeny vykonané v balíkoch pre váš projekt následne zmenia tieto súbory, takže tieto zmeny by mali byť sledované a označené verziou.

Použite projekt Pipenv

Ak si stiahnete zdrojové úložisko pre projekt, ktorý na správu balíkov používa Pipenv, stačí rozbaliť obsah úložiska do adresára a spustiť pipenv nainštalovať (nie sú potrebné žiadne názvy balíkov). Pipenv bude čítať Pipfile a Pipfile.lock súbory pre projekt, vytvorte virtuálne prostredie a podľa potreby nainštalujte všetky závislosti.

Nakoniec, ak chcete pomocou Pipenv spravovať projekt, ktorý v súčasnosti používa a requirements.txt súbor, stačí prejsť do adresára projektu a spustiť pipenv nainštalovať. Pipenv zistírequirements.txt (alebo môžete použiť -r príznak, ktorý na ňu ukazuje) a migrovať všetky požiadavky do a Pipfile.

$config[zx-auto] not found$config[zx-overlay] not found