Zum Hauptinhalt springen

Ausführen von Python als Dienst auf einem Windows-Betriebssystem

Python ist eine der beliebtesten Programmiersprachen, die häufig für die Entwicklung verschiedener Anwendungen und Skripte verwendet wird. Eine Möglichkeit, Python zu verwenden, besteht darin, es als Dienst auf einem Windows-Betriebssystem auszuführen. Auf diese Weise können Sie Aufgaben automatisieren und Python-Skripts im Hintergrund ausführen, ohne dass Sie sich anmelden müssen.

Die Konfiguration, Python als Dienst unter Windows auszuführen, kann in verschiedenen Szenarien nützlich sein. Sie können beispielsweise so konfigurieren, dass ein Python-Skript automatisch ausgeführt wird, das Daten aktualisiert oder Sicherungsaufgaben ausführt. Dies kann auch nützlich sein, wenn Sie einen Server in Python starten möchten, der ausgeführt wird, ohne manuell starten und stoppen zu müssen.

Es gibt mehrere Möglichkeiten, Python als Dienst unter Windows zu konfigurieren. Eines der einfachsten und beliebtesten ist die Verwendung des Werkzeugs "pywin32". Dazu müssen Sie pywin32 installieren, das die Funktionalität für die Windows-API hinzufügt, einschließlich der Erstellung, Verwaltung und Ausführung von Diensten.

Nach der Installation von pywin32 müssen Sie Code schreiben, der beim Start des Dienstes ausgeführt wird. Dieser Code kann jedes Python-Skript sein, das Sie als Dienst ausführen möchten. Zum Beispiel könnte es sich um einen Server auf Flask, Django oder eine andere Anwendung handeln, die Sie im Hintergrund ausführen möchten. In diesem Code können Sie bestimmen, welche Funktion als Hauptfunktion des Dienstes ausgeführt wird.

Konfigurieren des Startens von Python als Dienst unter Windows

Python - eine der beliebtesten Programmiersprachen, die verwendet wird, um eine breite Palette von Anwendungen zu entwickeln. Wenn Python-Skripte als Dienst auf einem Windows-Betriebssystem ausgeführt werden müssen, gibt es mehrere Möglichkeiten zur Konfiguration. In diesem Artikel werden wir uns die grundlegenden Schritte ansehen, damit Ihr Python-Skript als Dienst funktioniert.

1. Installation der erforderlichen Werkzeuge

Um ein Python-Skript als Dienst auszuführen, müssen zusätzliche Tools installiert werden. Sie benötigen:

  • Python - stellen Sie sicher, dass die aktuelle Version von Python auf Ihrem Computer installiert ist.
  • pywin32 - dies ist ein Python-Modul für die Arbeit mit der Windows-API. Sie können dieses Modul mit pip installieren: pip install pywin32 .
  • pyinstaller (optional) - ein Werkzeug, mit dem Sie eine ausführbare Datei aus einem Python-Skript erstellen können. Sie können es mit dem Befehl: pip install pyinstaller installieren.

2. Erstellen eines Python-Skripts

Erstellen Sie ein Python-Skript, das Sie als Dienst ausführen möchten. Stellen Sie sicher, dass das Skript die erforderlichen Funktionen ausführt und unabhängig von der interaktiven Sitzung des Benutzers ist. Wenn Sie Abhängigkeiten von Drittanbietern verwenden, stellen Sie sicher, dass sie installiert sind, bevor Sie den Dienst erstellen.

3. Erstellen eines Dienstes mit pywin32

Eine Möglichkeit, das Ausführen eines Python-Skripts als Dienst zu konfigurieren, besteht darin, ein Modul zu verwenden pywin32. Hier ist ein einfaches Codebeispiel, das den Dienst erstellt:

import win32serviceutilimport win32serviceimport win32eventimport servicemanagerimport socketimport sysimport osclass PythonService(win32serviceutil.ServiceFramework):_svc_name_ = 'PythonService'_svc_display_name_ = 'Python Service Example'def __init__(self, args):win32serviceutil.ServiceFramework.__init__(self, args)self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)socket.setdefaulttimeout(60)self.is_running = Truedef SvcStop(self):self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)win32event.SetEvent(self.hWaitStop)self.is_running = Falsedef SvcDoRun(self):servicemanager.LogMsg(servicemanager.EVENTLOG_INFORMATION_TYPE,servicemanager.PYS_SERVICE_STARTED,(self._svc_name_, ''))self.main()def main(self):# Место для вашего Python-скриптаpassif __name__ == '__main__':if len(sys.argv) == 1:servicemanager.Initialize()servicemanager.PrepareToHostSingle(PythonService)servicemanager.StartServiceCtrlDispatcher()else:win32serviceutil.HandleCommandLine(PythonService)

Ersetzen Sie den Inhalt der main() -Methode durch Ihr Python-Skript, das als Dienst ausgeführt werden soll.

4. Installieren des Dienstes unter Windows

Der letzte Schritt besteht darin, den Dienst auf dem Windows-Betriebssystem zu installieren. Führen Sie dazu den Befehl an der Eingabeaufforderung als Administrator aus (ersetzen Sie den Pfad zu Ihrem Python-Interpreter und zu Ihrem Python-Skript):

> python C:\путь\до\вашего\скрипта.py install

Danach wird der Dienst installiert und Sie können ihn in Windows-Diensten oder mit dem Befehl ausführen:

> python C:\путь\до\вашего\скрипта.py start

Jetzt läuft Ihr Python-Skript als Dienst auf einem Windows-Betriebssystem. Sie können die automatische Wiedergabe konfigurieren, die Einstellungen ändern oder bei Bedarf anhalten.

5. Fragen und Bedenken

Wenn Sie Fragen oder Probleme haben, ein Python-Skript als Dienst unter Windows auszuführen, finden Sie in der Dokumentation zum pywin32-Modul oder der Python-Community nach.

Viel Glück beim Einrichten Ihres Python-Dienstes unter Windows!

Schritt 1: Installieren von Python auf dem Computer

Bevor Sie beginnen, Python als Dienst unter Windows zu konfigurieren, müssen Sie die Programmiersprache Python selbst auf Ihrem Computer installieren. In diesem Abschnitt werden wir uns den Python-Installationsprozess ansehen.

  1. Besuchen Sie die offizielle Python-Website unter www.python.org.
  2. Auf der Hauptseite sehen Sie den Abschnitt "Downloads". Klicken Sie auf den Button "Python herunterladen" (Python herunterladen).
  3. Auf der Download-Seite sehen Sie eine Liste der verfügbaren Python-Versionen. Es wird empfohlen, die neueste stabile Version von Python für Ihr Betriebssystem herunterzuladen.
  4. Wählen Sie die gewünschte Python-Version aus, klicken Sie auf den Download-Link und speichern Sie die Installationsdatei auf Ihrem Computer.
  5. Doppelklicken Sie auf die heruntergeladene Datei, um die Installation zu starten.
  6. Befolgen Sie während der Installation die Anweisungen auf dem Bildschirm. Es wird empfohlen, Python auf den Standardpfad zu setzen, der standardmäßig vorgeschlagen wird.
  7. Nach Abschluss der Installation müssen Sie den Computer möglicherweise neu starten.
  8. Überprüfen Sie, ob Python erfolgreich installiert wurde, indem Sie die Eingabeaufforderung öffnen und den Befehl python --version eingeben. Wenn der Befehl fehlerfrei ausgeführt wird und die Python-Version ausgibt, ist die Installation erfolgreich.

Herzlichen Glückwunsch, Sie haben jetzt Python auf Ihrem Computer installiert und sind bereit, Python als Dienst unter Windows zu konfigurieren.

Schritt 2: Erstellen eines Startskripts

Nachdem Sie Python installiert und der Umgebungsvariablen PATH hinzugefügt haben, erstellen Sie im nächsten Schritt ein Startskript, mit dem Sie Ihre Python-Anwendung als Dienst unter Windows ausführen können.

Im einfachsten Fall können Sie eine Datei mit einer Erweiterung erstellen. "bat" oder ".cmd"zum Beispiel "start_my_app.bat". Diese Datei enthält einen Befehl zum Ausführen Ihrer Anwendung mit dem Python-Interpreter.

Öffnen Sie einen Texteditor wie Notepad unter Windows und geben Sie den folgenden Code ein:

@echo offcd /d "C:\путь_к_вашему_приложению"python имя_файла.py

Sie müssen "Pfad zu Ihrer Anwendung" durch einen gültigen Pfad zu dem Ordner ersetzen, in dem sich Ihr Python-Skript befindet, und "имя_файла.ру " auf den tatsächlichen Namen Ihres Python-Skripts.

Zum Beispiel, wenn Ihr Python-Skript "heißtmy_app.py " und befindet sich in einem Ordner "C:\Python\scripts ". Das Startskript sollte folgendermaßen aussehen:

@echo offcd /d "C:\Python\scripts"python my_app.py

Nachdem Sie die erforderlichen Änderungen vorgenommen haben, speichern Sie die Datei als "start_my_app".bat" oder mit einem anderen Namen, aber mit einer Erweiterung ".bat" oder ".cmd".

Diese Startdatei wird verwendet, um Ihre Python-Anwendung als Dienst unter Windows auszuführen.

Schritt 3: Konfigurieren des Dienstes unter Windows

Nachdem wir Python auf dem Computer installiert und ein Skript erstellt haben, das wir als Dienst ausführen möchten, können wir mit der Einrichtung des Dienstes im Windows-Betriebssystem beginnen. In diesem Schritt verwenden wir das Befehlszeilentool, um den Dienst zu konfigurieren.

1. Öffnen Sie die Eingabeaufforderung

Um zu beginnen, müssen wir die Eingabeaufforderung mit Administratorrechten öffnen. Dazu können wir mit der rechten Maustaste auf das Startsymbol in der unteren linken Ecke des Bildschirms klicken und "Eingabeaufforderung (Administrator)" auswählen.

2. Erstellen Sie einen Dienst mit dem Befehl sc

Um einen Dienst zu erstellen, können wir den Befehl sc verwenden. Geben Sie an der Eingabeaufforderung den folgenden Befehl ein:

sc create Название_службы binPath= "полный_путь_к_python.exe полный_путь_к_скрипту.py" start= auto

Ersetzen Sie in diesem Befehl "Dienstname" durch den gewünschten Namen für Ihren Dienst und "vollständiger Pfad zu_python.exe" und "полный_путь_к_скрипту.ру " auf den vollständigen Pfad der ausführbaren Python-Datei bzw. Ihres Skripts.

Zum Beispiel, wenn Python im Ordner C installiert ist:\Python38\ und das Skript befindet sich im Ordner C:\scripts\myscript.py . der Befehl würde so aussehen:

sc create MyService binPath= "C:\Python38\python.exe C:\scripts\myscript.py" start= auto

3. Konfigurieren Sie die Starteinstellungen für den Dienst

Nachdem der Dienst erstellt wurde, können wir seine Startoptionen konfigurieren. Geben Sie an der Eingabeaufforderung den folgenden Befehl ein:

sc config Название_службы start= delayed-auto

Ersetzen Sie in diesem Befehl "Dienstname" durch den Namen Ihres Dienstes.

Zusätzlich können Sie andere Diensteinstellungen, z. B. den Autorun-Typ oder den Benutzernamen, mit dem Befehl sc config ändern.

4. Starten Sie den Dienst

Nachdem wir die Startoptionen des Dienstes konfiguriert haben, können wir ihn jetzt starten. Geben Sie an der Eingabeaufforderung den folgenden Befehl ein:

sc start Название_службы

Wobei "Dienstname" durch den Namen Ihres Dienstes ersetzt wird.

Ihr Python-Skript wird jetzt als Dienst auf dem Windows-Betriebssystem ausgeführt und wird bei jedem Start des Computers automatisch gestartet.