Python in einen Dienst umwandeln: Skripte als Windows-Dienst ausführen
Viele Menschen, einschließlich mir selbst, schätzen Python für die Automatisierung von Aufgaben und die Erstellung von APIs für Drittanbieter-Tools. Leider ist es nicht ideal, die pywin32-Bibliothek nur dafür einzubinden, um Python in einen Dienst umzuwandeln – insbesondere wenn pywin32 aus irgendeinem Grund mit einem Projekt kollidiert, das wir nicht selbst geschrieben haben.
Es gibt einige gute Hilfsprogramme, die dieses Problem lösen:
- NSSM
- WinSW.
Wenn es jedoch auf Zuverlässigkeit und schnelles Skript-Deployment ankommt, können sie schwierig zu handhaben sein. Aus diesen Gründen stelle ich Ihnen heute EXE to Service vor, das auf eine Drei-Klick-Umwandlung und hohe Zuverlässigkeit abzielt.
So wandeln Sie Python in einen Windows-Dienst um
Schritt 1: Öffnen Sie EXE to Service
Nach der Installation von EXE to Service erscheint eine Verknüpfung auf Ihrem Desktop.
Die grafische Oberfläche dient ausschließlich dazu, die Diensterstellung zu vereinfachen. Wenn Sie Windows Server ohne grafische Oberfläche ausführen, haben Sie zwei Möglichkeiten:
- Erstellen Sie den Dienst auf einem normalen PC und übertragen Sie ihn anschließend auf den Server.
- Führen Sie EXE to Service direkt auf dem Server über die Befehlszeile aus.
Schritt 2: Erstellen Sie einen neuen Dienst
EXE to Service enthält bereits ein fertiges Python-zu-Dienst-Beispiel.
Klicken Sie einfach auf die Schaltfläche "Aus Beispiel erstellen".

Schritt 3: Legen Sie den Pfad zu den Python-Skripten fest
Im daraufhin erscheinenden Fenster müssen Sie die korrekten Pfade angeben:
- Pfad zur ausführbaren Datei Python.exe:Standardmäßig (benutzerspezifisch):
C:\Users\<Ihr_Benutzername>\AppData\Local\Programs\Python\Python<Version>\ - Arbeitsverzeichnis:Geben Sie den Ordner an, in dem sich Ihre Skriptdatei befindet.
- Argumente:
C:\Pfad\Zu\Ihrem\Skript.py

Schritt 4: Speichern und starten Sie den Dienst
Klicken Sie auf "Dienst erstellen", um einen Windows-Dienst zu erstellen.
Wenn der Dienst sofort auf diesem Computer gestartet werden soll, klicken Sie auf "Starten".
Danach wird Python:
- Als Windows-Dienst gestartet
- Automatisch mit dem System gestartet
- Über den Windows-Dienst-Manager (
services.msc) verwaltet
In zukünftigen Artikeln werde ich erklären, wie man Benachrichtigungen und Warnungen für kritische Situationen in Python erstellt, wenn es Speicher- und CPU-Leaks gibt.
Fazit
Python wurde ursprünglich als Hochsprache entwickelt und ist nicht dafür gedacht, in Windows-Diensten zu laufen – aber Tools wie EXE to Service lösen dieses Problem elegant. Verpacken Sie Ihr .py-Skript in eine Hülle, und es wird beim Systemstart ausgeführt, bleibt nach dem Abmelden bestehen und integriert sich nahtlos in services.msc – ohne komplizierte Workarounds.