pypi | |
---|---|
URL | pypi.org |
Webhely típusa | adattár |
nyelvek) | többnyelvű, beleértve az oroszt is |
A munka kezdete | 2003 [1] |
Jelenlegi állapot | aktív |
A PyPI ( rövidítés az angol P y thon Package I ndexből - "Python csomagkönyvtár") egy Python programozási nyelven írt szoftverkönyvtár [2] . A könyvtári csomagkezelő rendszerekkel ( pip , easy_install) kombinálva hasonló a PEAR for PHP -hez és a CPAN -hoz Perl esetén [3] . 2020 februárjában több mint 216 000 csomagot tartalmaz [4] , míg 2010-ben már csak körülbelül 10 000 csomagot [5] .
A Python Distribution Utilities (distutils) modult először 2000 szeptemberében adták hozzá a Python szabványos könyvtárához az 1.6.1-es verzióban, [6] Az összes meglévő csomagot áttelepítették az új platformra, és megőrizték előzményeiket. [7] és a 2.0-s verzióban 2000 októberében, kilenc évvel a Python első kiadása (1991. február) után, hogy leegyszerűsítsék a harmadik féltől származó csomagok Pythonban való telepítésének folyamatát. [nyolc]
A szerzők maguk regisztrálják csomagjaikat a katalógusban (amikor először kell adatokat megadniuk magukról) a PyPI-n [9] :
python setup.py regisztrációA metaadatok általában a setup.py fájlban tárolódnak a terjesztési csomag részeként, és a csomag egyetlen paranccsal töltődik be [10] :
python setup.py sdist-format=zip,gztar feltöltésA regisztrációhoz szükséges metaadatokat a 2001-ben elfogadott PEP241 [11] (Python Development Proposal) dokumentálja. Szükséges a következők: metaadatok verziója, csomag neve, csomag verziója, platform(ok), rövid leírás, szerző e-mail címe, licenc.
Ezenkívül egy csomag egy vagy több osztályozóval is besorolható .
Modul distutilsa Python szabványkönyvtárból [12] :
A képességek distutilsegyetlen csomagra korlátozódnak, ez nem képes függőségek meghatározására.
setuptoolsA modul alapú csomagkezelő rendszer distutilsa legegyszerűbb függőségi nyomkövető rendszert valósítja meg, kezeli a csomagok betöltését és a PyPI-vel való interakciót. A csomagok setuptoolsautomatikusan letölthetik és telepíthetik a csomagfüggőségeket.
Az easy_install segédprogram a -hoz tartozik setuptools, és a telepítés során telepíti őket [13] .
A projekttől setuptools elkülönült Distribute csomag , amelyet aktívan fejlesztenek és támogatja a Python 3 [14] .
Feltételezzük [15] , hogy a jelenleg fejlesztés alatt álló csomag a Python szabványkönyvtáron alapul, distutilsés abban benne lesz. Ez megőrzi a régivel való kompatibilitást [16] . Distributedistutils2distutils
A pip segédprogram hasonló az easy_install [17] -hez .
A következő példa a webpy-celery csomag setup.py fájljából származik, és a csomaghoz kapcsolódó metaadatok leírása:
setup ( name = 'webpy-celery' , version = __version__ , url = 'http://github.com/faruken/webpy-celery' , licence = 'BSD' , author = 'Faruk Akgul' , author_email = 'én@ akgul.org' , description = 'Celery wrapper a web.py keretrendszerhez' , long_description = __doc__ , zip_safe = False , packages = find_packages ( clude = [ 'examples' , 'tests' ]), platforms = 'bármilyen' , install_requires = [ 'web.py>=0.34' , 'zeller>=2.3.0' , ], classifiers = [ 'Környezet::Webkörnyezet' , 'Célközönség::Fejlesztők' , 'Licenc::OSI jóváhagyva::BSD-licenc ' , 'Operációs rendszer:: OS független' , 'Programozási nyelv:: Python' , 'Programozási nyelv:: Python:: 2.5' , 'Programozási nyelv:: Python:: 2.6' , 'Programozási nyelv:: Python:: 2.7 ' , 'Téma::Internet::WWW/HTTP::Dinamikus tartalom' , 'Téma::Szoftverfejlesztés::Könyvtárak::Python modulok' , ], )A PyPI webhelyen leírtak szerint a könyvtárat a pip paranccsal használhatja (feltéve, hogy az előre telepítve van):
pip telepítési csomag_neveVagy egyszerűen keresse meg, töltse le, csomagolja ki, majd futtassa a setup.py fájlt a szükséges csomag telepítéséhez:
python setup.py telepítéseMindkét esetben a telepítendő csomag összes függősége automatikusan megkeres és telepítődik.
Ugyanez megtehető más segédprogramokkal, például az egyszerű telepítéssel .
A PyPI katalógus információforrásként szolgál a Python szoftverfrissítő rendszerek számára, ami elkerülhetetlenül felveti az információbiztonság kérdését. A Python könyvtárkezelő rendszer lehetővé teszi a kölcsönösen bizalmatlan fejlesztők számára, hogy könyvtáraikat elérhetővé tegyék a felhasználók számára . Jelenleg a PyPI-ből hiányzik a frissítésészlelés ( eng. update discovery ) és a telepítési folyamat biztonsági mechanizmusa, de létezik a TUF ( eng. The Update Framework ) – egy prototípus keretrendszer a PyPI-vel való biztonságos munkavégzéshez az easy_install segédprogram segítségével [19] .
Piton | |
---|---|
Közösség | |
Megvalósítások | |
Egyéb |
|