pypi | |
---|---|
URL-osoite | pypi.org |
Sivuston tyyppi | arkisto |
Kieli (kielet) | monikielinen, mukaan lukien venäjä |
Työn alku | 2003 [1] |
Nykyinen tila | aktiivinen |
PyPI ( lyhenne englannin kielestä P y thon Package I ndex - "Python-pakettihakemisto") on Python - ohjelmointikielellä kirjoitettu ohjelmistohakemisto [2] . Yhdessä kirjastopakettien hallintajärjestelmien ( pip , easy_install ) kanssa se on samanlainen kuin PEAR PHP :lle ja CPAN Perlille [3] . Helmikuussa 2020 se sisältää yli 216 000 pakettia [4] , kun taas vuonna 2010 paketteja oli vain noin 10 000 [5] .
Python Distribution Utilities (distutils) -moduuli lisättiin ensimmäisen kerran Python-standardikirjastoon versiossa 1.6.1 syyskuussa 2000. [6] Kaikki olemassa olevat paketit siirrettiin uudelle alustalle ja niiden historiat säilytettiin. [7] ja versiossa 2.0 lokakuussa 2000, yhdeksän vuotta Pythonin ensimmäisen julkaisun (helmikuussa 1991) jälkeen. Tarkoituksena oli yksinkertaistaa kolmannen osapuolen pakettien asennusta Pythonissa. [kahdeksan]
Tekijät rekisteröivät itse pakettinsa luetteloon (ensimmäisen kerran heidän on annettava tietoja itsestään) PyPI :ssä [9] :
python setup.py -rekisteriMetatiedot tallennetaan yleensä setup.py-tiedostoon osana jakelupakettia, ja paketti ladataan yhdellä komennolla [10] :
python setup.py sdist-format=zip,gztar-latausRekisteröinnin edellyttämät metatiedot on dokumentoitu vuonna 2001 hyväksytyssä PEP241:ssä [11] (Python Development Proposal). Vaaditaan: metatietoversio, paketin nimi, paketin versio, alusta(t), lyhyt kuvaus, kirjoittajan sähköpostiosoite, lisenssi.
Lisäksi paketti voidaan luokitella käyttämällä yhtä tai useampaa luokittelua .
distutilsPython - standardikirjaston moduuli [12] :
Ominaisuudet distutilsrajoittuvat yhteen pakettiin, sillä ei ole kykyä määritellä riippuvuuksia.
setuptoolsModuulipohjainen paketinhallintajärjestelmä distutilstoteuttaa yksinkertaisimman riippuvuuden seurantajärjestelmän, hoitaa pakettien lataamisen ja vuorovaikutuksen PyPI:n kanssa. Paketti setuptoolsvoi automaattisesti ladata ja asentaa pakettiriippuvuuksia.
Easy_install-apuohjelma on lisäosa sovellukseen setuptoolsja asentaa ne asennuksen aikana [13] .
Projektista setuptools erotettu Distribute-paketti , jota kehitetään aktiivisesti ja joka tukee Python 3:a [14] .
Oletetaan [15] , että parhaillaan kehitteillä oleva paketti perustuu Python-standardikirjastoon distutilsja sisällytetään siihen. Tämä säilyttää yhteensopivuuden vanhan kanssa [16] . Distributedistutils2distutils
Pip-apuohjelma on samanlainen kuin easy_install [17] .
Seuraava esimerkki on otettu webpy-celery-paketin setup.py-tiedostosta ja on kuvaus pakettiin liittyvistä metatiedoista:
setup ( nimi = 'webpy-selery' , version = __version__ , url = 'http://github.com/faruken/webpy-celery' , lisenssi = 'BSD' , author = 'Faruk Akgul' , author_email = 'minä@ akgul.org' , description = 'Sellerikääre web.py-kehykseen' , long_description = __doc__ , zip_safe = Väärin , paketit = find_packages ( exclude = [ 'examples' , 'tests' ]), platforms = 'kaikki' , install_requires = [ 'web.py>=0.34' , 'selleri>=2.3.0' , ], classifiers = [ 'Ympäristö::Web Environment' , 'Intended Audience::Developers' , 'Lisenssi::OSI Hyväksytty::BSD-lisenssi ' , 'Käyttöjärjestelmä:: Käyttöjärjestelmästä riippumaton' , 'Ohjelmointikieli:: Python' , 'Ohjelmointikieli:: Python:: 2.5' , 'Ohjelmointikieli:: Python:: 2.6' , 'Ohjelmointikieli:: Python:: 2.7 ' , 'Aihe::Internet::WWW/HTTP::Dynaaminen sisältö' , 'Aihe::Ohjelmistokehitys::Kirjastot::Python-moduulit' , ], )Kuten PyPI-verkkosivustolla todetaan, voit käyttää hakemistoa pip-komennolla (olettaen, että se on esiasennettu):
pip asennus paketin_nimiTai vain etsi, lataa, pura ja suorita setup.py-tiedosto asentaaksesi vaaditun paketin:
python setup.py asennusMolemmissa tapauksissa kaikki asennettavan paketin riippuvuudet löydetään ja asennetaan automaattisesti.
Sama voidaan tehdä muiden apuohjelmien, kuten helpon asennuksen , kanssa .
PyPI-luettelo toimii tietolähteenä Python-ohjelmistopäivitysjärjestelmille, mikä nostaa väistämättä esiin tietoturvakysymyksen. Python-kirjastojen hallintajärjestelmä mahdollistaa toisiaan epäluottamuksellisten kehittäjien tuoda kirjastonsa käyttäjien saataville . Tällä hetkellä PyPI:stä puuttuu suojausmekanismi päivityksen havaitsemiseen ( eng. update discovery ) ja asennusprosessiin, mutta olemassa on TUF ( eng. The Update Framework ) - prototyyppikehys PyPI:n turvalliseen työskentelyyn easy_install-apuohjelman avulla [19] .
Python | |
---|---|
Yhteisö | |
Toteutukset | |
Muut |
|