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

A tesztpiramis: a stabil és kifizetődő tesztautomatizálás alapköve

Bevezető A szoftverfejlesztés világában az automatizálás gyakran úgy indul, mint egy lelkes fellángolás: „Minden manuális tesztet váltsunk ki automata scriptekkel!” A kezdeti eufória után azonban sok projektvezető és fejlesztő szembesül a kőkemény valósággal. A tesztek lassúak, gyakran ok nélkül elbuknak, a karbantartásuk pedig több időt emészt fel, mint amennyit maga a fejlesztés. Ilyenkor merül fel

Tesztautomatizálás: mikor érdemes belevágni, és mikor várjunk még?

Bevezető A szoftverfejlesztési projektek egyik legvitatottabb kérdése nem az, hogy kell-e automatizálni a tesztelést, hanem az, hogy mikor. „Már az első naptól írjunk automata teszteket, vagy ráérünk, ha már kész a funkciók nagy része?” – hangzik el a kérdés szinte minden projektindító megbeszélésen. A válasz azonban nem egy egyszerű dátum vagy verziószám. A tesztautomatizálás ugyanis

Tesztautomatizálás útmutató: mikor, hogyan és miért érdemes bevezetni?

Szoftvert fejleszteni ma már nem csak kódolást jelent. Egy termék sikere legalább annyira múlik azon, hogy a kiadás pillanatában stabilan, hibamentesen és megbízhatóan működjön, mint magán az ötleten. Ahogy az IT projektek egyre komplexebbé válnak, a hagyományos, tisztán manuális tesztelés egyre kevésbé tud lépést tartani a fejlesztés tempójával. Eljön a pont, amikor a tesztelés már

Scroll to Top