A Pipfile és Pipfile.lock: A Python projektjeid megmentői

Egy képzeletbeli helyzet, ami nagyon életszerű

Képzeld el, hogy egy Python projektben dolgozol, rengeteg csomagra van szükséged, és fontos lenne számodra, hogy mindenkinek, aki a projekten dolgozik, ugyanaz a környezete legyen. Továbbá az is remek lenne, ha egy esetleges új kollégának nem kellene órákat eltölteni a szükséges csomagok felkutatásával/telepítésével. Ezekre a problémákra jelent megoldást a Pipfile és Pipfile.lock.

Mi is ez a két fájl?

 A pip a Python csomagkezelője, a virtualenv pedig arra szolgál, hogy Python környezeteket tudjunk kezelni és létrehozni. Ennek tulajdonképpen az ötvözéseként használható a Pipfile és Pipfile.lock.

Ezen fájlok rögzítik egy python környezetbe települt összes csomagot és azoknak a függőségeit.

A Pipfile felépítése

source: Megadja, hogy honnan töltjük le a csomagokat. Ez legtöbb esetben ugyanaz mindenkinek, de persze saját URL is megadható, amennyiben szükséges.

packages: Itt találhatók a projekt által használt csomagok.

dev-packages: Ebben a részben a fejlesztők és tesztelők által használt csomagok szerepelnek. (Például egy code clean package nem szükséges egy végfelhasználó számára, de egy fejlesztőnek hasznos lehet.)

requires: A Python verzióját adja meg.

Hogyan működik a gyakorlatban?

A pipfile-t létre tudjuk hozni a következő paranccsal:

pipenv install

Ezt követően ha a pipfile-ba beírunk egy csomagot, és lefuttatjuk újra a parancsot, a környezet kibővül a csomaggal.

Majd átmásolva a fájlokat,  ugyanezen paranccsal egy másik python környezetben (új kolléga gépe) telepíthetőek ugyanazon csomagok.

Miért fontos a Pipfile.lock?

A Pipfile tartalmazza a projektben szükséges csomagokat, de a Pipfile.lock ennél is tovább megy. Ez a fájl rögzíti a pontos verziószámokat és a háttérben használt csomagokat is, így biztosítva, hogy mindenki ugyanazt a környezetet használja, elkerülve a verzióinkompatibilitási problémákat. A lock file a pipfile-ban deklarált függőségek aktuális verzióit tárolja. A pipfile-ban megadott függőségek mellett a háttérfüggőségeket is rögzíti, amik a pipfileban nem szerepelnek.

Ha dev package-ek is kellenek…

Amennyiben a „dev-packages”-ben felsorolt csomagokra is szükségünk van, akkor így azok is telepítésre kerülnek:

pipenv install –dev

Összefoglalva

A Pipfile és Pipfile.lock fájlok nagy szolgálatot tudnak tenni a különböző python package-ek és verziók menedzselésében. Segítségükkel egyszerűen és gyorsan telepíthetjük a projektünkhöz szükséges összes csomagot, elkerülve a kompatibilitási problémákat és időt spórolva. Ha Python projektekkel foglalkozol, mindenképp érdemes megismerkedned velük.

Megosztás

Kérsz értesítést a legújabb cikkekről?

Kapcsolódó cikkek

Hogyan segíti az AI a tesztesetek generálását?

A modern szoftverfejlesztés egyik legnagyobb kihívása az idő. A sprintek rövidek, a funkciók száma folyamatosan nő, miközben a minőségi elvárások nem csökkennek. Ebben a feszített tempóban a teszt tervezése és a tesztesetek megírása gyakran a fejlesztési folyamat szűk keresztmetszetévé válik. Egy manuális tesztelő órákat tölthet azzal, hogy egy-egy komplex user story alapján pontról pontra kidolgozza

Hol bukik el leggyakrabban a szoftvertesztelés egy projektben? 4 szisztematikus hiba, amit nem szabad elkövetnetek

Minden projektmanager ismeri az érzést: a sprint végi demón minden zöld, az elfogadó tesztek átmentek, a csapat gratulál egymásnak – aztán az élesítés után két nappal becsörög az ügyfél, hogy egy kritikus üzleti folyamat nem működik. De hogyan juthatott keresztül egy ekkora hiba az egész tesztelési rendszeren? A válasz szinte sohasem az, hogy „a tesztelők

Biztosítási jutalékszámítási rendszer AI-alapú tesztelése

Egy biztosítótársaság pénzügyi működésének és értékesítési hálózatának alapköve a jutalékelszámolás. Ha a jutalékszámítási rendszerben hiba lép fel, az nemcsak közvetlen anyagi veszteséget jelent, hanem azonnal erodálja az értékesítési ügynökök bizalmát is. Egy ilyen komplex rendszer teszteléséhez óriási mennyiségű, változatos és élethű életúttal rendelkező adatra van szükség. Ugyanakkor a szigorú adatvédelmi szabályozások (GDPR) miatt az éles

Scroll to Top