Zum Hauptinhalt springen

So führen Sie Python als Dienst unter Windows aus: Eine detaillierte Anleitung

Python ist eine der beliebtesten Programmiersprachen mit umfangreichen Funktionen. Diese interpretierte Sprache bietet eine Vielzahl von Entwicklungswerkzeugen, einschließlich der Möglichkeit, eigene Dienste zu erstellen. Wenn Sie Ihr Skript unter Windows ausführen möchten, damit es als Dienst funktioniert, bieten wir Ihnen eine detaillierte Anleitung an.

Es gibt mehrere Möglichkeiten, Dienste unter Windows mit Python zu erstellen. Eines der beliebtesten Werkzeuge ist das Modul pywin32, die verschiedene Funktionen zum Verwalten von Windows-Diensten bereitstellt. Mit diesem Modul können Sie Dienste erstellen, starten, stoppen und löschen, ohne komplexen Code verwenden zu müssen.

Zuerst müssen Sie das Modul installieren pywin32 mit dem Paketmanager pip. Sie können dann ein neues Skript in Python erstellen, das als Dienst ausgeführt wird. In diesem Skript müssen Sie Funktionen zum Starten und Stoppen des Dienstes definieren und den erforderlichen Code hinzufügen, um Ihre Aufgaben auszuführen.

Sie können beispielsweise einen Dienst erstellen, der Ihre Dateien regelmäßig sichert oder Benachrichtigungen an E-Mails sendet. Sie müssen eine Funktion definieren, die diese Aufgaben ausführen wird, und sie in Ihrem Skript aufrufen, das als Dienst ausgeführt wird.

Nachdem Sie die Funktionen zum Starten und Stoppen des Dienstes definiert haben, können Sie ihn mit einem Modul registrieren pywin32. Der registrierte Dienst wird in der Liste der Windows-Dienste angezeigt, und Sie können den Dienst problemlos verwalten, ohne sich jedes Mal beim Computer anmelden zu müssen, wenn Sie den Dienst starten oder beenden müssen.

Installieren und Konfigurieren von Python unter Windows

Um Python als Dienst unter Windows auszuführen, müssen Sie zuerst Python auf Ihrem Computer installieren.

Schritt 1: Python herunterladen

Gehen Sie zur offiziellen Python-Website unter https://www.python.org/downloads/windows / und laden Sie das Python-Installationsprogramm für Windows herunter.

Schritt 2: Starten des Installationsprogramms

Nachdem das Python-Installationsprogramm heruntergeladen wurde, doppelklicken Sie darauf, um den Installationsprozess zu starten.

Schritt 3: Wählen Sie die Installationseinstellungen aus

Während der Installation haben Sie die Möglichkeit, verschiedene Einstellungsoptionen auszuwählen. Die am meisten empfohlenen Optionen sind:

Python zur Umgebungsvariablen PATH hinzufügenErmöglicht die Verwendung von Python über die Befehlszeile und das Ausführen von Python-Skripten aus einem beliebigen Verzeichnis.
Customize installationHier können Sie zusätzliche Optionen konfigurieren, z. B. die Auswahl eines Installationsverzeichnisses und die Installation zusätzlicher Module.

Schritt 4: Abschließen der Installation

Nachdem Sie die Einstellungen ausgewählt haben, klicken Sie auf die Schaltfläche "Install" (Installieren), um den Python-Installationsprozess zu starten. Warten Sie, bis die Installation abgeschlossen ist.

Nachdem die Python-Installation abgeschlossen ist, können Sie nun fortfahren, Python als Dienst unter Windows einzurichten.

Python herunterladen und installieren

  1. Öffnen Sie einen Webbrowser und gehen Sie zur offiziellen Python-Website - https://www.python.org /.
  2. Suchen Sie auf der Startseite im oberen Menü nach "Downloads" und klicken Sie auf die Schaltfläche "Downloads".
  3. Sie haben die Wahl zwischen zwei Python-Versionen: Python 2 und Python 3. Es wird empfohlen, die neueste Version von Python 3 zu verwenden, da sie neuere Funktionen und Verbesserungen enthält. Klicken Sie auf das entsprechende Logo, um Python 3 herunterzuladen.
  4. Nachdem Sie die Python-Version ausgewählt haben, gelangen Sie zur Download-Seite. Scrollen Sie nach unten und suchen Sie nach dem Abschnitt "Dateien". Hier werden die zum Download verfügbaren Python-Versionen angezeigt. Wählen Sie die neueste stabile Version von Python aus und klicken Sie auf den Download-Link.
  5. Sie werden aufgefordert, die Bittiefe von Python abhängig von Ihrem Betriebssystem auszuwählen. Wenn Ihr Betriebssystem 64 Bit Bit hat, wählen Sie "Windows x86-64 executable installer". Wenn Sie ein 32-Bit-System haben, wählen Sie "Windows x86 executable installer".
  6. Die Python-Download-Datei wird auf Ihrem Computer gespeichert. Doppelklicken Sie auf diese Datei, um das Python-Installationsprogramm zu starten.
  7. Während des Installationsprozesses haben Sie die Möglichkeit, einige Installationsoptionen zu konfigurieren. Standardmäßig wird empfohlen, alle Einstellungen unverändert zu lassen.
  8. Nach Abschluss der Installation erhalten Sie eine Nachricht, die anzeigt, dass die Python-Installation erfolgreich ausgeführt wurde.

Jetzt haben Sie Python auf Ihrem Computer installiert. Im nächsten Abschnitt erfahren Sie, wie Sie die Umgebung so konfigurieren, dass Python-Skripte als Dienst unter Windows ausgeführt werden.

Konfigurieren von Umgebungsvariablen

Bevor Sie den Python-Dienst unter Windows ausführen, müssen Sie Umgebungsvariablen konfigurieren, damit das Betriebssystem weiß, wo die ausführbare Python-Datei gesucht werden soll. Dadurch können Sie das Python-Programm aus einem beliebigen Verzeichnis aufrufen, ohne den vollständigen Pfad zur ausführbaren Datei anzugeben.

Befolgen Sie diese Schritte, um Umgebungsvariablen zu konfigurieren:

  1. Öffnen Sie die Systemsteuerung und suchen Sie den Abschnitt System.
  2. Wählen Sie unter System die Option Erweiterte Systemeinstellungen aus.
  3. Klicken Sie im geöffneten Fenster auf die Schaltfläche "Umgebungsvariablen".
  4. Suchen Sie im Abschnitt Umgebungsvariablen die Variable Path und wählen Sie sie aus.
  5. Klicken Sie auf die Schaltfläche Bearbeiten und fügen Sie den Pfad des Verzeichnisses, in dem Python installiert ist, zur Variablen "Path" hinzu. Zum Beispiel, wenn Python in einem Verzeichnis installiert ist "C:\Python\Python39 ", fügen Sie hinzu "C:\Python\Python39 " in die Liste der Pfade.
  6. Nachdem Sie den Pfad hinzugefügt haben, klicken Sie in allen geöffneten Fenstern auf OK, um die Änderungen zu speichern.
  7. Jetzt können Sie Python-Programme aus einem beliebigen Verzeichnis auf Ihrem Computer ausführen, ohne den vollständigen Pfad zur ausführbaren Datei anzugeben.

Stellen Sie sicher, dass die Umgebungsvariablen korrekt konfiguriert sind, indem Sie eine Eingabeaufforderung öffnen und den Befehl "Python" eingeben. Wenn Python fehlerfrei ausgeführt wird, sind die Umgebungsvariablen korrekt konfiguriert.

Erstellen eines einfachen Python-Dienstes

Um einen einfachen Python-Dienst unter Windows zu erstellen, verwenden wir das Python-Modul win32service . So erstellen Sie einen einfachen Service für geplante Aufgaben:

  1. Erstellen Sie eine neue Datei service.py und öffnen Sie es in Ihrem bevorzugten Texteditor.
  2. Importieren Sie die erforderlichen Module:
import socketimport timeimport win32serviceimport win32eventimport win32serviceutilimport servicemanagerimport sys
  1. Definieren Sie die Service-Klasse(win32serviceutil.ServiceFramework) , das Ihr Service sein wird:
class Service(win32serviceutil.ServiceFramework):_svc_name_ = 'PythonService'_svc_display_name_ = 'Python Service'def __init__(self, args):win32serviceutil.ServiceFramework.__init__(self, args)self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)socket.setdefaulttimeout(60)self.is_alive = Truedef SvcStop(self):self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)win32event.SetEvent(self.hWaitStop)self.is_alive = Falsedef SvcDoRun(self):servicemanager.LogMsg(servicemanager.EVENTLOG_INFORMATION_TYPE,servicemanager.PYS_SERVICE_STARTED,(self._svc_name_, ''))self.main()def main(self):# Здесь вы можете разместить свою логику сервисаwhile self.is_alive:# Ваш кодtime.sleep(5)
  1. Um einen Service zu erstellen, fügen Sie am Ende der Datei den folgenden Code hinzu:
if __name__ == '__main__':if len(sys.argv) == 1:servicemanager.Initialize()servicemanager.PrepareToHostSingle(Service)servicemanager.StartServiceCtrlDispatcher()else:win32serviceutil.HandleCommandLine(Service)

Speichern Sie nun die Datei service.py und schließen Sie es.

Sie können die Befehlszeile verwenden, um den Dienst zu verwalten. Hier sind einige grundlegende Befehle:

  • Service installieren: Python service.py install
  • Dienst entfernen: Python service.py remove
  • Service starten: Python service.py start
  • Service beenden: Python service.py stop
  • Dienst neu starten: Python service.py restart

Glückwunsch! Jetzt haben Sie einen einfachen Python-Dienst, der unter Windows geplante Aufgaben ausführen kann.

Schreiben von Code für einen Service

In diesem Abschnitt finden Sie Informationen zum Schreiben von Code zum Ausführen eines Python-Skripts als Dienst unter Windows.

Bevor Sie beginnen, müssen Sie die Bibliothek `pywin32` installieren, mit der Sie mit der Windows-API von Python aus arbeiten können. Sie können es mit dem Befehl installieren:

pip install pywin32

Nachdem Sie die Bibliothek installiert haben, können Sie mit der Erstellung von Code für Ihren Service beginnen.

Importieren Sie zuerst die erforderlichen Module:

import win32serviceutil import servicemanager import win32event import win32service import socket import os

Erstellen Sie als Nächstes eine Klasse für Ihren Service, die von der Klasse `win32serviceutil' erbt.ServiceFramework`:

class MyService(win32serviceutil.ServiceFramework): _svc_name_ = 'MyService' _svc_display_name_ = 'My Service'

In der Methode '__init__' können Sie die erforderlichen Parameter zum Starten Ihres Dienstes festlegen. Sie können beispielsweise ein Verzeichnis festlegen, in dem das Skript ausgeführt wird:

def __init__(self, args): win32serviceutil.ServiceFramework.__init__(self, args) self.dir = os.path.dirname(os.path.realpath(__file__))

Затем, реализуйте методы 'svc_do_run` и `svc_stop` для выполнения логики вашего сервиса:

def svc_do_run(selbst): servicemanager.LogMsg(servicemanager.EREIGNISPROTOKOLL_INFORMATIONSTYP, Servicemanager.PYS_SERVICE_STARTED, (selbst._svc-name_, ")) selbst.haupt () def svc_stop(selbst): servicemanager.LogMsg(servicemanager.EREIGNISPROTOKOLL_INFORMATIONSTYP, Servicemanager.PYS_SERVICE_STOPPED, (selbst._svc-name_, ")) selbst.ReportServiceStatus(win32service.SERVICE_STOP_PENDING) win32ereignis.SetEvent(selbst.hWaitStop)

In der 'main'-Methode können Sie den Hauptcode Ihres Dienstes platzieren:

def main(selbst): # dein Code

Schließlich fügen Sie am Ende der Datei den folgenden Code hinzu, um den Service zu starten:

if __name__ == '__main__': if len(sys.argv) == 1: servicemanager.Initialize() servicemanager.PrepareToHostSingle(MyService) servicemanager.StartServiceCtrlDispatcher() else: win32serviceutil.HandleCommandLine(MyService)

Jetzt können Sie Ihr Python-Skript als Dienst unter Windows ausführen, indem Sie den Befehl verwenden:

python my_service.py install python my_service.py start

Der Dienst wird gestartet und wird im Hintergrund ausgeführt. Sie können auch die Befehle `stop`, `restart` und `remove` verwenden, um den Service zu verwalten. Wenn Sie überprüfen müssen, ob ein Dienst funktioniert, können Sie das Fenster Dienste öffnen und Ihren Dienst in der Liste finden.