Versionierung von Python-Projekten [geschlossen]

8

Das Problem:

Ich muss die Versionierung in meinem python -Projekt einstellen.
Jedes Mal, wenn ich eine Veröffentlichung mache, füge ich meine Produktion und Entwicklung Zweige in mein VCS ein.
Ich muss die geringste Menge an Korrekturen beim Einrichten der Version des Projekts vornehmen und den Prozess automatisieren.

Was ich getan habe:

  • Ich habe PEP 396 über die Modulversionierung gelesen (es ist nicht genau das, was ich brauche)
  • Ich habe herausgefunden, wie man eine Version für das Projekt mit setup.py file in dieser Dokumentation einrichten kann >
  • Ich habe herausgefunden, wie django mit seinen Versionen funktioniert hier

Meine nächsten Schritte:

Ich brauche für meine Freigabe:

  • Veröffentlichungsdatum
  • Überarbeitung
  • Versionsnummer

Also plane ich, mein Versionsnummer-Format major.minor.changeset zu machen, weil es ziemlich lang ist, das Veröffentlichungsdatum in der Version zu halten. Ich möchte version.py file erstellen:

%Vor%

Und importieren Sie die Version von dort, wenn ich sie brauche (aber ich habe Angst, dass jemand vergessen kann, das richtige Datum einzurichten), und legen Sie die Datei CHANGE.TXT daneben, die Versionsänderungen beschreibt.

Die Frage:

Ich möchte wissen, wie Sie Versionen in Ihren python -Projekten festlegen und wie ich meine Idee konvertieren soll, um mein Schema zu vereinfachen.

    
Mansur Fattakhov 28.08.2013, 11:41
quelle

1 Antwort

2

Zwei damit zusammenhängende Probleme: (1) Was sind gute Optionen für Metadaten, die auf Modulebene verfolgt werden können, einschließlich Versionierung, plus andere nützliche Informationen; und (2) Was ist eine gute Möglichkeit, diese Metadaten darzustellen?

Ein allgemeiner Ansatz für Modulmetadaten wird unter Ссылка erläutert. Dies bedeutet im Grunde genommen, verwenden Sie die Konstanten __author__ , __authors__ , __contact__ , __copyright__ , __license__ , __date__ und __version__ . Diese werden häufig verwendet, also ist es eine gute Konvention.

Dann, um die Konstante __version__ zu füllen - ein gutes Modell für die Versionierung ist die semantische Versionierung - siehe Ссылка . Im Grunde verwenden Sie 1.2.3 style, wobei größere Änderungen nur dann vorgenommen werden, wenn eine inkompatible API-Änderung auftritt, geringfügige Änderungen bei neuen Funktionen vorgenommen werden und der Micro-aka-Patch bei einer Fehlerbehebung geändert wird. Dies wird auch häufig verwendet und daher eine gute Konvention.

    
Chris Johnson 28.08.2013 12:00
quelle

Tags und Links