Keresés

Új hozzászólás Aktív témák

  • Friczy

    senior tag

    válasz olivera88 #9369 üzenetére

    Pip használatával könnyen el tudod érni, hogy olyan python libeket is feltegyél, amelyek a disztribúcióban is benn vannak. Aztán ha véletlenül ugyanaz felmegy a disztribúcióból és pip-en keresztül is, akkor bele lehet futni olyan hibákba, amelyek nehezen debugolhatóak. Más programoknál is célszerű elkerülni, hogy ugyanazt feltedd küldő forrásból, amit feltehetnél a disztribúcióból is, ugyanez a helyzet a python librarykkel.

    Pl. az időjárás programodnak van valami függősége, ami a disztribúcióban is benne van, de te ezzel nem foglalkozol, felteszed a programot pip installal, az meg hozza magával a libraryt is. Később valamiért felteszed a disztribúcióbeli libet valami más függőségeként, amit meg apt-gettel telepítesz, máris lesz két eltérő python lib a rendszereden, és a szerencsén fog múlni, hogy mindkét programod a megfelelőt használja.

    A virtualenv többek közt pont ezt a problémát tudja orvosolni. Létrehoz neked egy könyvtárat, amin belülre lehet aztán pip-pel vagy bárhogy máshogy telepíteni a neked szükséges libraryket, így biztos hogy nem akad össze azzal, amit a csomagkezelő tett fel. Ráadásul több virtualenved is lehet egy gépen teljesen különböző libekkel, így akár egyszerre lehet fenn más más környezetben ugyanannak a programnak eltérő verziója. És persze lehetne még folytatni....

    https://packaging.python.org/tutorials/installing-packages/#creating-virtual-environments

Új hozzászólás Aktív témák