Es gibt eine Menge Informationen darüber, aber da "es mehr als einen Weg gibt, eine Katze zu häuten" , scheinen alle Tutorials / Handbücher, die einen Teil des Prozesses abdecken, bestimmte Annahmen zu treffen, die sich von anderen unterscheiden Tutorials, ich habe es immer noch nicht verstanden.
Bisher habe ich das verstanden.
- Mein letztes Ziel sollte es sein, ein "binäres" .deb-Paket zu erstellen. Ein solches Paket ist plattformunabhängig (32/64 Bit), da alle Python-Programme solche sind.
- Um ein "binäres" Paket zu erstellen, muss ich zuerst ein Quellpaket erstellen.
- Um das Quellpaket zu erstellen, kann ich entweder
CDBS
oder verwendendebhelper
. Debhelper ist der empfohlene Weg für Anfänger. - Der Kern der Erstellung eines Quellpakets besteht darin, das
DEBIAN
Verzeichnis im Quellverzeichnis mit einer Reihe von Dateien zu füllen, in denen erläutert wird, wo Dateien kopiert werden müssen, welchen Urheber- und Lizenzierungsschemata sie unterliegen, welchen Abhängigkeiten sie unterliegen usw. - Schritt 4 kann den
dh_make
Befehl weitgehend automatisieren, wenn die Python-Quelle auch ein Distutils-setup.py
Skript enthält.
Nun meine Fragen:
- Ist mein Verständnis des Prozesses korrekt? Fehlt mir etwas oder habe ich mich geirrt?
- Schritt 5 ist für mich wirklich verwirrender: Insbesondere die beiden Punkte, die für mich am dunkelsten bleiben, sind:
- Wie schreibe ich ein
setup.py
Skript, das ein eigenständiges Programm installiert? BEARBEITEN: Mit eigenständigem Programm meine ich ein Programm, das von einem Desktop-Benutzer verwendet werden soll (im Gegensatz zu einem Modul, das ich als eine Sammlung von Funktionen verstehe, die von anderer Software nach dem Import verwendet werden sollen). In meinem speziellen Fall würde ich tatsächlich zwei solche "Programme" benötigen : die Hauptsoftware und ein separates Dienstprogramm ( tatsächlich ein zweites "Programm", das sich im selben Paket wie das andere befinden sollte). - Was sind die Besonderheiten eines solchen Skripts für DEB-Pakete? Die offizielle Dokumentation scheint sich nur mit RPM- und Windows-Dingen zu befassen ...
- Wie schreibe ich ein
Übrigens: Dies sind die besten Informationsquellen, die ich bisher finden konnte. Wenn Sie etwas Besseres haben, teilen Sie es bitte mit! :) :)
- Ubuntus Python-Verpackungshandbuch
- Erstellen eines .deb - Paket von einem Python setup.py (es zeigt die Schritte, aber es nicht erklären sie genug für mich zu folgen)
- Das ShowMeDo-Video zum Thema "Erstellen eines .deb-Pakets aus einem Python-Programm" (es scheint nicht aktuell zu sein und - wenn ich es richtig verstanden habe - erstellt Pakete für den persönlichen Gebrauch, ohne Abhängigkeiten und ohne signiertes Änderungsprotokoll und andere Schlüsseldaten, die es mit der Debian-Richtlinie inkompatibel machen).
setup.py
bisschen. Dies ist vergleichbar mit demautotools
Schritt, den viele GNU C / C ++ - Projekte verwenden, jedoch spezifisch für Python. Dies ist einfacher als es sich anhört, lesen Sie docs.python.org/distutils/index.html