Konsequente Versionierung im Python-Projekt

8

Ich habe ein Python-Projekt, das Sphinx-Dokumentation und Distutils zur Veröffentlichung in Pip hat.

Beide dieser Funktionen erfordern eine Version (z. B. 0,4b3)

Gibt es eine Best Practice für die automatische Verwaltung einer konsistenten Versionsnummer für die verschiedenen Dienstprogramme, für die Versionsnummern erforderlich sind?

Gibt es als Bonus einen Zusatz zu git (z. B. über Tags)?

    
muckabout 16.02.2012, 13:14
quelle

2 Antworten

1

Dies ist eine Lieblingsfrage in Python distutils Mailinglisten. Sie können Ihr Modul sowohl von setup.py als auch von conf.py importieren und das Modul. version erhalten. Dies funktioniert möglicherweise nicht abhängig von Ihren Importen, Ihrer Verwendung von 2to3 oder anderen Faktoren. In diesem Fall können Sie Ihre Version in eine Textdatei verschieben und diese von Ihrem Modul, setup.py und conf.py, öffnen.

Meine persönliche Meinung ist, dass es keine große Last ist, die Versionsnummer an drei Stellen zu aktualisieren. Es ist ein kleiner Schritt im Release-Prozess.

    
Éric Araujo 17.02.2012 17:13
quelle
0

Das ist eine ungeprüfte Antwort, aber ich denke, das wäre mit sphinx im Skript conf.py ziemlich einfach. Da dieses Skript nur Python ist, könnten Sie Folgendes tun:

%Vor%

Natürlich möchten Sie vielleicht eine Zeichenfolgeverarbeitung für die Ausgabe der Befehle durchführen, um sie so zu bekommen, wie Sie sie wollen, und eine Fehlerüberprüfung, aber die Grundidee sollte halten.

Wie ich schon sagte, habe ich das nicht getestet, also könnte ich völlig falsch liegen, also sagen Sie mir, wenn Sie ein Problem mit dieser Idee finden.

    
Gareth Latty 16.02.2012 13:28
quelle