Robots-Upgrade auf Python 3.11
Wichtig
Am 26. Oktober 2024 endete die Unterstützung von Robots für Python 3.8 und ältere Versionen der zugehörigen Bibliotheken.
Um eine mögliche Unterbrechung Ihrer automatisierten Prozesse zu vermeiden, sollten Sie überprüfen, ob alle geplanten Produktionsskripts in der Python 3.11-Umgebung von Robots ausgeführt werden und eine korrekte Ausgabe erzeugen.
Produktions- oder Entwicklungsskripts, die nicht auf Python 3.11 umgestellt wurden, können möglicherweise noch ausgeführt werden, dies kann jedoch nicht garantiert werden. Oder sie werden ausgeführt, liefern aber falsche Ergebnisse.
Diligent is performing a phased upgrade of the version of Python used by Robots. The cloud-based Robots Agent will be upgraded from Python 3.8.x to Python 3.11.x. During a transition period, both versions of Python will be supported by Robots. For details, see Zeitplan für das schrittweise Upgrade in Robots.
Das Upgrade beinhaltet auch die Aktualisierung einer Reihe von Bibliotheken, die mit Python verbunden sind, darunter Pandas (von Version 1.2.4 auf 2.2.0) und Requests (von Version 2.26.0 auf 2.31.0). Eine Liste der in Robots aktualisierten Bibliotheken finden Sie unter Neue Versionen von Python und zugehörigen Bibliotheken.
Wenn Ihre Organisation HighBond-Robots oder Workflow-Robots verwendet, lesen Sie diese Informationen zu den Auswirkungen des Upgrades. Robots-Kunden können das Python-Upgrade nicht umgehen.
Die Python Software Foundation hat angekündigt, dass Python 3.8 am 14. Oktober 2024 offiziell eingestellt wird.
Auswirkungen auf Kunden
Wichtig
Planen Sie ausreichend Zeit ein, um alle Ihre Python/HCL-Skripte vor dem 26. Oktober 2024 zu testen, wenn Python 3.8 nicht mehr mit Robots verwendet werden kann. Damit geplante Robot-Aufgaben nicht unterbrochen werden, nehmen Sie eventuell erforderliche Skriptaktualisierungen rechtzeitig vor dem Endtermin vor.
Potenzial für inkompatible Skriptlogik
Einige Ihrer Python/HCL-Skripte könnten vom Upgrade auf Python 3.11 betroffen sein. Wenn Skriptlogik, die in Python 3.8 funktioniert, in Python 3.11 nicht mehr ausgeführt wird oder ausgeführt wird, aber falsche Ausgabeergebnisse liefert, müssen Sie die Skriptlogik aktualisieren.
Um zu prüfen, ob Ihre vorhandenen Skripte in Python 3.11 problemlos laufen, testen Sie diese am besten im Robots-Skript-Editor. Weitere Informationen finden Sie unter Vorhandene Python-/HCL-Skripts testen und erneut übermitteln.
Veraltete Informationen in der Skriptkopfzeile
Die Kopfzeileninformationen in Python/HCL-Skripts geben die Versionsnummern des HCL-Pakets (HighBond Command Language), von Python und der zugehörigen Bibliotheken an, die von Robots zum Zeitpunkt der Übermittlung (Speicherung) des Skripts im Robots-Skript-Editor verwendet wurden. Sie können jedes Skript herunterladen und in einem Texteditor öffnen, um die Kopfzeileninformationen zu sehen.
Die folgenden Beispiele zeigen Kopfzeileninformationen für Skripts, die mit früheren und aktuellen HCL-Paketen und Python-Laufzeitumgebungen übermittelt wurden.
Bisher: HCL 1.0 und Python 3.8
"environment": { "runtime": "python3.8", "requirements": ["boxsdk==3.0.1", "openpyxl==3.0.9", "Jinja2==3.0.3", "simple-salesforce==1.11.5", "jira==3.1.1", "hcl==1.0.*"] }
Aktuell: HCL 3.0 und Python 3.11
"environment": { "runtime": "python3.11", "requirements": ["boxsdk==3.9.2", "openpyxl==3.1.2", "Jinja2==3.1.3", "simple-salesforce==1.12.5", "jira==3.8.0", "hcl==3.0.*"], "showCommitToastMessage": true }
Probleme mit veralteten Skripts
Skripts mit veralteten Kopfzeileninformationen können in HCL 3.0 und der Python 3.11-Laufzeitumgebung ausgeführt werden. Sie sollten die Skripts jedoch so schnell wie möglich aktualisieren, um die folgenden Probleme zu vermeiden:
-
Skripts können fehlschlagen Ein Skript, das unter Python 3.8 und älteren Versionen der zugehörigen Bibliotheken erstellt wurde, kann veralteten Code enthalten, der dazu führt, dass das Skript in Python 3.11 fehlschlägt.
-
Skripte können falsche Ergebnisse erzeugen Ein Skript kann ausgeführt werden, aber die Ausgabe entspricht möglicherweise nicht der Ausgabe, die in der Python 3.8-Laufzeitumgebung erzeugt wird.
-
Warning notifications appear Until a script's header information is updated, warning notifications in the Robots user interface appear with the script, and with the robot that contains the script. For more information, see Warnmeldungen in der Benutzeroberfläche von Robots.
-
Aktivierung ist untersagt Solange die Kopfzeileninformationen eines Skripts nicht aktualisiert sind, dürfen Sie das Skript nicht vom Entwicklungs- in den Produktionsmodus aktivieren.
So aktualisieren Sie ein Skript
Gehen Sie wie folgt vor, um ein Skript auf die aktuelle Version von HCL und Python zu aktualisieren:
-
Öffnen Sie das Skript im Robots-Skript-Editor und führen Sie es aus.
-
Nehmen Sie alle erforderlichen Aktualisierungen an der Skriptlogik vor.
-
Speichern und übermitteln Sie das Skript.
Durch das Ausführen des Skripts wird die Skriptkopfzeile auf die aktuellen Versionen von HCL, Python und den zugehörigen Bibliotheken aktualisiert.
-
Wenn das Skript in einem Robot im Produktionsmodus verwendet wird, aktivieren Sie das Skript, um es im Produktionsmodus zu aktualisieren.
Ausführliche Schritte, siehe Vorhandene Python-/HCL-Skripts testen und erneut übermitteln.
Warnmeldungen in der Benutzeroberfläche von Robots
In der Benutzeroberfläche von Robots werden mehrere Warnmeldungen angezeigt, die Sie auf Robots und Skriptversionen hinweisen, die noch mit Python 3.8 verknüpft sind.
Die Warnmeldungen für Robots und Skriptversionen verschwinden, sobald Sie das Skript erneut in der Python 3.11-Laufzeitumgebung übermitteln und aktivieren.
-
Robots-Dashboard Wenn Sie auf das Robot-Dashboard zugreifen, wird eine Tabelle mit allen Robots mit einem aktuellen Produktionsskript angezeigt, das unter der Python 3.8-Laufzeitumgebung übermittelt und aktiviert wurde.
-
Einzelne Robots auf dem Dashboard Auf einzelnen HighBond- oder Workflow-Robots mit einem aktuellen Produktionsskript, das unter der Python 3.8-Laufzeitumgebung übermittelt und aktiviert wurde, wird ein Warnsymbol angezeigt.
-
Einzelne Skriptversionen Im Entwicklungsmodus wird eine Warnmeldung bei jeder Skriptversion angezeigt, die unter der Python 3.8-Laufzeitumgebung übermittelt wurde.
Vorhandene Python-/HCL-Skripts testen und erneut übermitteln
Um sicherzustellen, dass die vorhandenen Python-/HCL-Skripts Ihrer Organisation für die Umstellung auf Python 3.11 bereit sind, testen Sie sie im Robots-Skript-Editor und übermitteln Sie sie erneut.
Neues oder bestehendes Skript im Skript-Editor öffnen
-
Wählen Sie auf der Launchpad-Startseite (www.highbond.com) die App Robots aus, um sie zu öffnen.
Wenn Sie sich bereits in Diligent One befinden, können Sie über das linke Navigationsmenü zur Robots-App wechseln.
-
Wählen Sie im Dashboard in Robots die Registerkarte für den entsprechenden Robot-Typ aus:
-
HighBond-Robots
-
Workflow-Robots
-
-
Navigieren Sie zu einem Robot und wählen Sie den Robot aus, um ihn zu öffnen.
-
Klicken Sie in der oberen rechten Ecke des Robots auf Entwicklung, um in den Entwicklermodus zu wechseln.
-
Wählen Sie auf der Registerkarte Skriptversionen die Version des Skripts aus, die Sie testen möchten.
In der Regel sollten Sie hier die Version des Skripts auswählen, die für den Produktionsmodus aktiviert wurde. Wenn keine Version aktiviert wurde und keine bestimmte Version zu bevorzugen ist, wählen Sie die neueste Skriptversion aus.
-
Klicken Sie im Bereich Versionsdetails auf Skript bearbeiten oder Bearbeiten.
Der Robots-Skript-Editor wird gestartet und lädt die Python 3.11-Laufzeitumgebung.
Skript ausführen und testen
Führen Sie das Skript aus, um zu testen, ob es mit der Python 3.11-Laufzeitumgebung kompatibel ist.
-
Wenn der Startprozess des Skript-Editors abgeschlossen ist, führen Sie das Skript aus, um es zu testen.
-
Wenn das Skript erfolgreich ausgeführt wird, überprüfen Sie alle Ausgabeergebnisse, um sicherzustellen, dass sie korrekt sind.
Wenn das Skript erfolgreich ausgeführt wird und die Ausgabeergebnisse korrekt sind, ist das Skript mit Python 3.11 und den zugehörigen Bibliotheken kompatibel. Dann sind keine weiteren Tests des Skripts erforderlich. Sie können das Skript speichern und übermitteln, um es mit HCL 3.0 und der Python 3.11-Laufzeitumgebung zu verknüpfen. Siehe Skript speichern und übermitteln.
-
Wenn das Skript fehlschlägt oder die Ausgabeergebnisse falsch sind, aktualisieren Sie die Skriptlogik, um das Problem zu beheben.
Hinweis
Script failure, or incorrect output, may or may not be related to the Python upgrade in Robots. For more information, see Leitfaden für Robots-Skriptentwickler.
Skript speichern und übermitteln
-
Klicken Sie in der Symbolleiste des Skript-Editors auf Speichern und übermitteln.
-
Geben Sie eine aussagekräftige Übermittlungsnachricht ein, um Ihre Änderungen zu beschreiben.
Tipp
Es könnte sich anbieten, „Wird in Python 3.11 ausgeführt“ in der Übermittlungsnachricht hinzuzufügen.
-
Optional. Wählen Sie Skriptausgabe in der Protokolldatei der Aufgabenausführung speichern.
Wenn Sie ein Skript mit einer Robot-Aufgabe ausführen, speichert diese Option die gesamte Skriptausgabe in einer Protokolldatei. Die gespeicherte Ausgabe kann zu Prüfzwecken bei der Entwicklung von Fehlerbehebung von Skripten hilfreich sein. Weitere Informationen finden Sie unter Skriptausgabe in einer Protokolldatei speichern.
-
Klicken Sie auf Übermitteln, um das Skript zu speichern und zu übermitteln.
Die Meldung Ihr Skript wurde erfolgreich übermittelt wird angezeigt.
-
Klicken Sie in der Seitenkopfzeile auf den Namen des Robots.
Sie gelangen wieder zur Registerkarte Skriptversionen im Robot. Jedes Mal, wenn Sie ein Skript speichern und übermitteln, wird die gespeicherte Version dieser Registerkarte hinzugefügt.
-
Optional. Stellen Sie sicher, dass das Skript mit der Python 3.11-Laufzeitumgebung verknüpft ist:
-
Wählen Sie die gerade gespeicherte Skriptversion aus.
-
Klicken Sie im Bereich Versionsdetails auf Herunterladen.
Das Skript wird auf Ihren Computer heruntergeladen.
-
Öffnen Sie das Skript in einem Texteditor.
Die zugehörige Python-Laufzeitumgebung wird oben im Skript angezeigt:
"runtime":"python3.11"
-
-
Wenn das Skript in einem Robot im Produktionsmodus verwendet wird, reaktivieren Sie das Skript, um es im Produktionsmodus zu aktualisieren:
-
Wählen Sie die gerade gespeicherte Skriptversion aus.
-
Klicken Sie im Bereich Versionsdetails auf Aktivieren.
-
Geben Sie einen Kommentar in den Versionsverlauf ein, um zu erklären, warum Sie das Skript reaktivieren.
-
Klicken Sie auf Versionsnummer aktivieren.
Die Skriptversion wird im Produktionsmodus aktiviert und aktualisiert.
-
Zeitplan für das schrittweise Upgrade in Robots
Die folgende Tabelle enthält Daten und Details für das schrittweise Upgrade von Python und den zugehörigen Bibliotheken in Robots.
Voraussichtliches Datum | Betroffener Bereich | Details |
---|---|---|
26. Oktober 2024 |
HighBond-Robots Workflow-Robots |
Alle Skripts Umfasst unbearbeitete Skripts in geplanten Aufgaben
Wichtig Produktions- oder Entwicklungsskripts, die nicht auf Python 3.11 umgestellt wurden, können möglicherweise noch ausgeführt werden, dies kann jedoch nicht garantiert werden. Oder sie werden ausgeführt, liefern aber falsche Ergebnisse. Diese Skripts müssen getestet und im Robots-Skript-Editor erneut übermittelt werden, um sie mit Python 3.11 zu verknüpfen. Produktionsskripts müssen in den Produktionsmodus reaktiviert werden. Weitere Informationen finden Sie unter Vorhandene Python-/HCL-Skripts testen und erneut übermitteln. |
14. Oktober 2024 | python3.8 |
Die Python Software Foundation hat angekündigt, dass Python 3.8 am 14. Oktober 2024 offiziell eingestellt wird. Siehe Status von Python-Versionen. Sobald eine Version von Python das Ende ihres Lebenszyklus erreicht hat, behebt das Python-Entwicklungsteam keine neuen Sicherheitslücken mehr, die für diese Version gemeldet werden. |
12. Juli 2024 |
HighBond-Robots Workflow-Robots |
Vorhandenes Skript, das vor dem Python-Upgrade in Robots erstellt wurde
|
4. Juli 2024 |
HighBond-Robots Workflow-Robots |
Alle Skripts
Vorhandenes Skript, das vor dem Python-Upgrade in Robots erstellt wurde
|
4. April 2024 | Workflow-Robots
|
Neu erstelltes Skript
Vorhandenes Skript, das vor dem Python-Upgrade in Robots erstellt wurde
|
4. April 2024 | HighBond-Robots |
Neu erstelltes Skript
Vorhandenes Skript, das vor dem Python-Upgrade in Robots erstellt wurde
Skript, das nach Dezember 2023 auf Python 3.11 aktualisiert wurde
|
Mitte Dezember 2023 | HighBond-Robots
|
Neu erstelltes Skript
Vorhandenes Skript, das vor dem Python-Upgrade in Robots erstellt wurde
|
Neue Versionen von Python und zugehörigen Bibliotheken
In der folgenden Tabelle sind die aktuellen und vorherigen Versionen von Python und den zugehörigen Bibliotheken aufgeführt, die von Robots unterstützt werden. Informationen zu bestimmten Änderungen in den neuen Versionen finden Sie in den verlinkten Ressourcen.
Aktuelle unterstützte Version | Bisherige unterstützte Version |
---|---|
Python 3.11 |
python3.8 |
Pandas 2.2.0 |
Pandas 1.2.4 |
Requests 2.31.0 |
Requests 2.26.0 |
NumPy >= 1.23.3 |
NumPy 1.16.5 |
Cryptography >= 39.0.0 |
Cryptography 3.4.7 |
Boxsdk 3.9.2 |
Boxsdk 3.0.1 |
Openpyxl 3.1.2 |
Openpyxl 3.0.9 |
Jinja 3.1.3 |
Jinja 3.0.3 |
Simple-salesforce 1.12.5 |
Simple-salesforce 1.11.5 |
Jira 3.8.0 |
Jira 3.1.1 |
Leitfaden für Robots-Skriptentwickler
Detaillierte Informationen zu Änderungen in den Versionen von Python und den zugehörigen Bibliotheken in HCL 3.0 würden den Rahmen dieses Hilfethemas sprengen. Nachfolgend finden Sie einige allgemeine Hinweise. Ausführliche Informationen finden Sie in den oben verlinkten Ressourcen.
Nicht auf das Python-Upgrade zurückzuführender Skriptfehler
Ein Fehler in einem Robots-Skript muss nicht zwangsläufig durch das Upgrade von Python in Robots von Version 3.8 auf 3.11 verursacht werden. Beispiel:
-
Ein Skriptfehler mit dem Statuscode 401 (Nicht autorisiert) wird höchstwahrscheinlich durch ein Problem mit dem vom Skript angegebenen HighBond-Zugriffstoken verursacht. Weitere Informationen finden Sie unter Zugriffstoken verwalten .
-
Ein Skriptfehler mit dem Statuscode 404 (Nicht gefunden) kann durch eine fehlende oder falsche Variablenzuweisung im Skript verursacht werden. Weitere Informationen finden Sie unter Variablen in einem Python/HCL-Skript verwenden.
Skriptfehler oder falsche Ausgabe, möglicherweise auf das Python-Upgrade zurückzuführen
Wenn ein geplantes Skript erfolgreich ausgeführt wurde und dann in der letzten Oktoberwoche 2024 fehlschlägt, hängt der Fehler wahrscheinlich mit dem Upgrade von Python und den zugehörigen Bibliotheken zusammen. Das Gleiche gilt, wenn ein Skript weiterhin erfolgreich ausgeführt wird, aber falsche oder unerwartete Ergebnisse ausgibt.
-
Veraltete Funktionen und Methoden Eine veraltete Funktion oder Methode in Python, Pandas oder einer der anderen zugehörigen Bibliotheken könnte die Ursache des Problems sein. Führen Sie das fehlerhafte Skript im Robots-Skript-Editor aus und überprüfen Sie sorgfältig alle vom Skript ausgegebenen Fehlermeldungen. Verwenden Sie ggf. während der Fehlerbehebung den KI-Skript-Assistenten.
-
Mehrere Zwischenversionen Zwischen den in den HCL 1.0- und HCL 3.0-Paketen verwendeten Versionen wurden mehrere Zwischenversionen von Python, Pandas und anderen zugehörigen Bibliotheken veröffentlicht. Möglicherweise müssen Sie Informationen zu mehreren Versionen einer Bibliothek überprüfen, um die Ursache eines Problems zu ermitteln.
-
Änderungen an Pandas-Bibliotheken Einige der Änderungen, die durch aufeinanderfolgende Versionen der Pandas-Bibliothek eingeführt wurden, können dazu führen, dass HCL 1.0-Skripts in Robots fehlschlagen. Zu diesen Änderungen gehören unter anderem die unten aufgeführten Änderungen.
-
append() – Methode veraltet
-
astype() – geändertes Verhalten
-
groupby() – geändertes operatives Verhalten
-
read_csv() – Parameteränderungen
-
split() – Parameteränderungen
-
str.replace() – Parameteränderung
-