pypi | |
---|---|
URL | pypi.org |
Typ webu | úložiště |
jazyky) | vícejazyčné, včetně ruštiny |
Začátek práce | 2003 [1] |
Aktuální stav | aktivní |
PyPI ( zkr. z anglického Py thon Package I ndex - "adresář balíků Python") je softwarový adresář napsaný v programovacím jazyce Python [2] . V kombinaci se systémy pro správu balíků knihoven ( pip , easy_install) je to obdoba PEAR pro PHP a CPAN pro Perl [3] . K únoru 2020 obsahuje více než 216 000 balíčků [4] , zatímco v roce 2010 to bylo jen asi 10 000 balíčků [5] .
Modul Python Distribution Utilities (distutils) byl poprvé přidán do standardní knihovny Pythonu ve verzi 1.6.1 v září 2000, [6] Všechny existující balíčky byly migrovány na novou platformu a jejich historie byla zachována. [7] a ve verzi 2.0 v říjnu 2000, devět let po prvním vydání Pythonu (únor 1991), aby se zjednodušil proces instalace balíčků třetích stran v Pythonu. [osm]
Sami autoři registrují své balíčky do katalogu (poprvé potřebují poskytnout údaje o sobě) na PyPI [9] :
registr python setup.pyMetadata jsou obvykle uložena v souboru setup.py jako součást distribučního balíčku a balíček se načte jediným příkazem [10] :
python setup.py sdist-format=zip,gztar uploadMetadata požadovaná pro registraci jsou zdokumentována v PEP241 [11] (Python Development Návrh) přijatém v roce 2001. Povinné jsou: verze metadat, název balíčku, verze balíčku, platforma(y), krátký popis, e-mailová adresa autora, licence.
Balíček lze navíc klasifikovat pomocí jednoho nebo více klasifikátorů .
Modul distutilsze standardní knihovny Pythonu [12] :
Možnosti distutilsjsou omezeny na jeden balíček, nemá možnost definovat závislosti.
setuptoolsModulový systém správy balíčků distutilsimplementuje nejjednodušší systém sledování závislostí, zpracovává načítání balíčků a interakci s PyPI. Balíček setuptoolsmůže automaticky stáhnout a nainstalovat závislosti balíčku.
Obslužný program easy_install je doplňkem aplikace setuptoolsa instaluje je během instalace [13] .
Balíček Distribute se setuptools oddělil od projektu , který je aktivně vyvíjen a podporuje Python 3 [14] .
Předpokládá se [15] , že aktuálně vyvíjený balíček je založen na standardní knihovně Pythonu distutilsa bude do ní zahrnut. Tím bude zachována kompatibilita se starým [16] . Distributedistutils2distutils
Nástroj pip je podobný jako easy_install [17] .
Následující příklad je převzat ze souboru setup.py balíčku webpy-celery a je popisem metadat souvisejících s balíčkem:
setup ( name = 'webpy-celery' , version = __version__ , url = 'http://github.com/faruken/webpy-celery' , licence = 'BSD' , autor = 'Faruk Akgul' , author_email = 'me@ akgul.org' , description = 'Celery wrapper for web.py framework' , long_description = __doc__ , zip_safe = False , packages = find_packages ( exclude = [ 'examples' , 'tests' ]), platforms = 'any' , install_requires = [ 'web.py>=0.34' , 'celery>=2.3.0' , ], classifiers = [ 'Prostředí::Webové prostředí' , 'Zamýšlené publikum::Developers' , 'Licence::Schváleno OSI:: Licence BSD ' , 'Operační systém:: OS Independent' , 'Programovací jazyk:: Python' , 'Programovací jazyk:: Python:: 2.5' , 'Programovací jazyk:: Python:: 2.6' , 'Programovací jazyk:: Python:: 2.7 ' , 'Topic::Internet::WWW/HTTP::Dynamic Content' , 'Topic::Vývoj softwaru::Knihovny::Python Modules' , ], )Jak je uvedeno na webu PyPI, můžete adresář použít pomocí příkazu pip (za předpokladu, že je předinstalovaný):
pip instalační název_balíčkuNebo jednoduše vyhledejte, stáhněte, rozbalte a spusťte soubor setup.py a nainstalujte požadovaný balíček:
instalace python setup.pyV obou případech budou všechny závislosti instalovaného balíčku automaticky nalezeny a nainstalovány.
Totéž lze provést s dalšími nástroji, jako je snadná instalace .
Katalog PyPI slouží jako zdroj informací pro systémy aktualizace softwaru Python, což nevyhnutelně vyvolává otázku bezpečnosti informací. Systém správy knihoven Python umožňuje vzájemně nedůvěřivým vývojářům zpřístupnit své knihovny uživatelům . V současné době PyPI postrádá bezpečnostní mechanismus pro detekci aktualizací ( angl. update discovery ) a proces instalace, ale existuje TUF ( angl. The Update Framework ) - prototyp frameworku pro bezpečnou práci s PyPI pomocí utility easy_install [19] .
Krajta | |
---|---|
Společenství | |
Implementace | |
jiný |
|