Wie packe ich einen Python-Daemon mit setuptools

8

Wie verpacken Sie eine Python-App mit setuptools, damit sie bei der Installation (z. B. via setup.py oder pip) ein Daemon-Skript an der entsprechenden Stelle platziert, startet und für den automatischen Start beim Booten markiert?

In meinem Fall funktioniert mein Code nur mit Linux, daher ist es mir nur wichtig, den Daemon in Linux-Umgebungen (speziell Ubuntu) zu installieren.

Ich habe mehrere Beiträge Beschreibung Wie erstellt man einfach Python-Daemons, aber ich kann nichts finden, das beschreibt, wie man sie in einer Produktionsumgebung installiert, so dass sie wie jeder andere normale Daemon oder Dienst behandelt werden.

Ich weiß, dass Ubuntu und einige andere Distributionen ihre Daemons in /etc/init.d behalten, und ich weiß, wie man mit setuptools Dateien an bestimmte Orte im Dateisystem kopiert, also wäre es sicher, mein Skript zu kopieren oder zu verlinken /etc/init.d und führen Sie dann chkconfig aus, um die Laufzeit festzulegen, oder gibt es eine sicherere, verteilungsneutrale Möglichkeit, Daemons zu installieren?

    
Cerin 15.03.2012, 15:02
quelle

1 Antwort

3

Dies wird besser durch die Erstellung eines geeigneten Pakets für die Distro (im Falle von Ubuntu, einem .deb) gehandhabt, da Sie den Ort der Startup-Skripte nicht über Distributionen hinweg garantieren können. Zum Beispiel verwendet arch linux /etc/rc.d/. Das Kopieren an Orte wie diese erfordert außerdem einen Root-Zugriff (der nach meiner Meinung nicht unbedingt zur Installation von Python-Paketen erforderlich ist) und bei der Deinstallation möglicherweise nicht leicht umkehrbar ist.

Ich würde vorschlagen, dass Sie eine normale setupttools-Installation erstellen und sie dann in eine Deb mit einem Link zu /etc/init.d verpacken.

    
aquavitae 15.03.2012 15:15
quelle