Alle erhältlichen Pakete mit PIP auflisten

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
angrybird
User
Beiträge: 2
Registriert: Donnerstag 15. August 2019, 17:41

Hallo.

Ich arbeite momentan an einer App die eine grafische Benutzeroberfläche für PIP bereitstellt. Ich bin schon fast fertig damit, allerdings fehlt mir einer der wichtigsten Aspekte für eine grafische Benutzeroberfläche für einen Paketmanager, nämlich das Auflisten aller erhältlicher Pakete (auf PyPi, nicht lokal installierte Pakete). Ich weiß ja dass man dafür den Befehl

Code: Alles auswählen

pip search <Paketname>
verwenden kann, allerdings weiß ich nicht wie man alle Pakete auflistet. Ich bin auf die Seite https://pypi.org/simple/ gestoßen allerdings sind das ja alle Pakete die auf PyPi erhältlich sind oder? Ich möchte dass die aufgelisteten Pakete auch mit der zugehörigen Python Version funktionieren und soweit ich weiß funktioniert ja nicht jedes Paket mit jeder Version. Kann mir jemand mit diesem Problem helfen?
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

Schau doch mal wie pip das löst. Da wird ja auch nur installiet, was zur Python Version passt.
angrybird
User
Beiträge: 2
Registriert: Donnerstag 15. August 2019, 17:41

Danke für den Tipp!
nezzcarth
User
Beiträge: 1762
Registriert: Samstag 16. April 2011, 12:47

Über die 'simple'-Api bekommst du alle Pakete, über die JSON-Api (https://warehouse.pypa.io/api-reference/json/#) Details zu einzelnen Pakete. So müsstest du doch eigentlich alles haben, was du benötigst, auch wenn es zugegeben etwas dauern kann, für jedes Paket einen Request abzusetzen. Diese Daten kannst du dann jedenfalls indexieren (zum Beispiel in Woosh oder sqlite, wenn es ohne viel Overhead nativ mit Python funktionieren soll) und anschließend flexibel darauf suchen. Wenn der Index einmal steht, kann man Änderungen inkrementell einspielen. Eine Such-API, mit der man z.B. nach Paketen für eine bestimmte Python-Version suchen kann, kenne ich nicht.

Siehe auch: https://warehouse.pypa.io/api-reference ... ty-details
Antworten