pypi | |
---|---|
URL | pypi.org |
Site type | depot |
Sprog) | flersproget, herunder russisk |
Begyndelse af arbejdet | 2003 [1] |
Nuværende status | aktiv |
PyPI ( forkortelse fra det engelske P y thon Package I ndex - "Python package directory") er et softwarebibliotek skrevet i Python - programmeringssproget [2] . I kombination med bibliotekspakkehåndteringssystemer ( pip , easy_install) ligner det PEAR for PHP og CPAN for Perl [3] . Fra februar 2020 indeholder den mere end 216.000 pakker [4] , mens der i 2010 kun var omkring 10.000 pakker [5] .
Python Distribution Utilities (distutils)-modulet blev først tilføjet til Python-standardbiblioteket i version 1.6.1 i september 2000, [6] Alle eksisterende pakker blev migreret til den nye platform, og deres historier blev bevaret. [7] og i version 2.0 i oktober 2000, ni år efter Pythons første udgivelse (februar 1991) for at forenkle processen med at installere tredjepartspakker i Python. [otte]
Forfattere registrerer selv deres pakker i kataloget (første gang de skal levere data om sig selv) på PyPI [9] :
python setup.py registerMetadataene gemmes normalt i filen setup.py som en del af distributionspakken, og pakken indlæses med en enkelt kommando [10] :
python setup.py sdist-format=zip,gztar uploadDe metadata, der kræves til registrering, er dokumenteret i PEP241 [11] (Python Development Proposal) vedtaget i 2001. Påkrævet er: metadataversion, pakkenavn, pakkeversion, platform(er), kort beskrivelse, forfatterens e-mailadresse, licens.
Derudover kan en pakke klassificeres ved hjælp af en eller flere klassifikatorer .
Modul distutilsfra Python-standardbiblioteket [12] :
Mulighederne distutilser begrænset til en enkelt pakke, den har ikke mulighed for at definere afhængigheder.
setuptoolsEt modulbaseret pakkehåndteringssystem distutilsimplementerer det enkleste afhængighedssporingssystem, håndterer pakkeindlæsning og interaktion med PyPI. En pakke setuptoolskan automatisk downloade og installere pakkeafhængigheder.
Easy_install-værktøjet er en tilføjelse til setuptools, og installerer dem under installationen [13] .
Distribute-pakken setuptools adskilt fra projektet , som er aktivt udviklet og understøtter Python 3 [14] .
Det antages [15] at den pakke, der i øjeblikket udvikles baseret på distutilsog vil blive inkluderet i Python-standardbiblioteket. Dette vil bevare kompatibiliteten med den gamle [16] . Distributedistutils2distutils
Pip-værktøjet ligner easy_install [17] .
Følgende eksempel er taget fra filen setup.py i webpy-celery-pakken og er en beskrivelse af de metadata, der er relateret til pakken:
opsætning ( navn = 'webpy-celery' , version = __version__ , url = 'http://github.com/faruken/webpy-celery' , licens = 'BSD' , forfatter = 'Faruk Akgul' , author_email = 'mig@ akgul.org' , description = 'Selleri-indpakning til web.py framework' , long_description = __doc__ , zip_safe = False , packages = find_packages ( ekskluder = [ 'eksempler' , 'tests' ]), platforme = 'any' , install_requires = [ 'web.py>=0.34' , 'selleri>=2.3.0' , ], classifiers = [ 'Miljø::Webmiljø' , 'Tilsigtet målgruppe::Udviklere' , 'Licens::OSI Approved::BSD-licens ' , 'Operativsystem:: OS uafhængig' , 'Programmeringssprog:: Python' , 'Programmeringssprog:: Python:: 2.5' , 'Programmeringssprog:: Python:: 2.6' , 'Programmeringssprog:: Python:: 2.7 ' , 'Emne::Internet::WWW/HTTP::Dynamisk indhold' , 'Emne::Softwareudvikling::Biblioteker::Python-moduler' , ], )Som angivet på PyPI-webstedet, kan du bruge mappen ved hjælp af pip-kommandoen (forudsat at den er forudinstalleret):
pip installer pakkenavnEller bare find, download, udpak og kør derefter filen setup.py for at installere den nødvendige pakke:
python setup.py installereI begge tilfælde vil alle afhængigheder af den pakke, der installeres, automatisk blive fundet og installeret.
Det samme kan gøres med andre hjælpeprogrammer såsom nem installation .
PyPI-kataloget tjener som en informationskilde for Python-softwareopdateringssystemer, hvilket uundgåeligt rejser spørgsmålet om informationssikkerhed. Python biblioteksstyringssystemet tillader gensidigt mistroiske udviklere at gøre deres biblioteker tilgængelige for brugerne . I øjeblikket mangler PyPI en sikkerhedsmekanisme til opdatering af detektion ( eng. update discovery ) og installationsprocessen, men der er TUF ( eng. The Update Framework ) - en prototyperamme til at arbejde med PyPI sikkert ved hjælp af easy_install-værktøjet [19] .
Python | |
---|---|
Fællesskab | |
Implementeringer | |
Andet |
|