4 Stimmen

Warum werden die setup.py-Metadaten bei PyPI nicht verwendet?

Ich hatte eine Beta-Version meines Pakets auf PyPi.

Die Metainformationen (z. B. Homepage, Kategorien usw.) aus setup.py erschienen auf der die PyPi-Seite des Projekts .

Später habe ich das Projekt aktualisiert. Das einzige, was ich in der setup.py geändert habe, war die Versionsnummer.

Update : Wie immer sollte man nie jemandem vertrauen, der so etwas sagt. Ich bin von setuptools zu distutils gewechselt! Cargo Cult Programmierung - ich habe einfach kopiert, was ein anderes Projekt gemacht hat. Tut mir leid.

Aber die nächste Version der die PyPi-Seite des Projekts hat keine Meta-Informationen.

Ich versuche herauszufinden, wie ich es kaputt gemacht habe; ich finde PyPi ziemlich anstrengend, um es richtig hinzubekommen, also bin ich sicher, dass ich es war. Dieses Mal habe ich Python 2.7.1 auf einer relativ neuen Windows-Installation verwendet (vorher hatte ich Python 2.6.x verwendet).

Ich habe mit ziemlicher Sicherheit eine andere Befehlszeile zum Hochladen verwendet. (Diesmal schienen Signierung und pgp installiert sein zu müssen, was beim letzten Mal nicht der Fall war).

Wo sollte ich nachsehen, warum die Metainformationen in der Datei setup.py nicht mehr hochgeladen werden?

4voto

Michael Mulich Punkte 1158

Die Ausführung des folgenden Befehls in Ihrer setup.py sollte das Problem beheben:

$ python setup.py register

Idealerweise sollten Sie den Befehl register parallel zum Upload ausführen. Ich verwende normalerweise mindestens drei Befehle, wenn ich ein Paket freigebe (sdist, register, upload). Das Folgende ist eine typische Veröffentlichung für PyPI:

$ python setup.py sdist register upload

Der Rest dieses Beitrags ist eine kurze Erklärung, was diese Befehle bewirken.

En sdist Befehl ist einer der wenigen Build-Befehle, die eine Quelldistribution bauen können. Sie sind wahrscheinlich bereits mit ihm vertraut, da Sie eine .zip-Datei hochgeladen haben. Ein ähnlicher Befehl ist bdist das binäre Verteilungen erstellt.

Die Metadaten der Verteilung (oder des Pakets) werden getrennt von der erstellten Verteilung gesendet. Die setuptools hochladen lädt Ihr Projekt-Build(s) hoch (z.B. myproject-0.0.zip). Der registrieren verwendet werden, um die Metadateninformationen zu aktualisieren. Der Befehl register sendet die PKGINFO (oder egg_info) an PyPI in einem Format, das PyPI versteht.

1voto

merwok Punkte 6577

Diese Frage ist schwer zu beantworten. Können Sie uns die von Ihnen verwendeten Befehlszeilen nennen? Verwendet Ihr setup.py distutils oder setuptools? Haben Sie Ihre pydistutils.cfg oder .pypirc Datei zwischen den beiden Zeitpunkten geändert?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X