Mise à niveau de Robots vers Python 3.11

Diligent procède à la mise à niveau de la version de Python utilisée par Robots. L'agent Robots dans le cloud sera mis à niveau de Python 3.8.x vers Python 3.11.x, conformément au calendrier ci-dessous. Pendant une période de transition, les deux versions de Python seront prises en charge par Robots.

Si votre organisation utilise des robots HighBond ou des robots de flux de travail, lisez cette rubrique pour en savoir plus sur les conséquences de la mise à niveau.

La Python Software Foundation a annoncé la fin de vie officielle de Python 3.8 pour le 14 octobre 2024.

Impact pour les clients

La mise à niveau vers Python 3.11 peut toucher certains de vos scripts Python/HCL. Si la logique de script qui s'exécute dans Python 3.8 ne s'exécute plus dans Python 3.11, vous devez la mettre à jour.

Les clients Robots ne peuvent pas refuser la mise à niveau Python. Pendant une durée limitée, vous pouvez choisir de restaurer un script à exécuter avec Python 3.8 lorsque vous modifiez des scripts individuels.

La manière la plus simple de vérifier si vos scripts existants s'exécutent sans problème dans Python 3.11 consiste à les ouvrir dans l'éditeur de scripts Robots et à essayer de les exécuter. Pour obtenir plus d'informations, consultez la section Tester les scripts Python/HCL existants dans l'éditeur de scripts Robots, qui contient également un avertissement.

Important

Prévoyez assez de temps pour tester tous vos scripts Python/HCL avant le 14 octobre 2024, période à laquelle Python 3.8 ne sera plus disponible dans Robots. Pour éviter toute perturbation au niveau des tâches de robot planifiées, effectuez les mises à jour de scripts nécessaires suffisamment longtemps avant la date limite.

Calendrier de mise à niveau

Date estimée Éléments affectés Détails
Mi-décembre 2023 Robots HighBond

Script récemment créé

  • S'exécute dans Python 3.11. Aucune autre option possible.

Script existant créé avant la mise à niveau Python

  • Dans les tâches planifiées, continue à s'exécuter dans Python 3.8, tant que le script n'est pas modifié.

  • S'il est ouvert dans l'éditeur de scripts Robots, s'exécute par défaut dans Python 3.11. Pendant une durée limitée, l'éditeur de scripts vous offre la possibilité de déclasser manuellement les scripts existants afin qu'ils s'exécutent dans Python 3.8.

Mi-mars 2024 Robots de flux de travail
Fin du T2 2024

Robots HighBond

Robots de flux de travail

Script existant créé avant la mise à niveau Python

  • Lorsqu'il est ouvert dans l'éditeur de scripts Robots, il ne peut plus être déclassé manuellement afin d'être exécuté dans Python 3.8.

14 octobre 2024

Robots HighBond

Robots de flux de travail

Tous les scripts (y compris les scripts non modifiés dans les tâches planifiées)

  • S'exécutent dans Python 3.11. Aucune autre option possible.

Python 3.8 a officiellement atteint sa fin de vie. Consultez cette page relative au statut des versions Python.

Tester les scripts Python/HCL existants dans l'éditeur de scripts Robots

Attention

Lorsque vous ouvrez un script Python 3.8 existant dans l'éditeur de scripts Robots, l'environnement d'exécution Python 3.11 démarre par défaut. Si vous enregistrez et transmettez le script sans le déclasser manuellement au préalable vers Python 3.8, la nouvelle version du script est automatiquement enregistrée avec Python 3.11 spécifié comme environnement d'exécution associé. Les versions spécifiées des dépendances Python installées (packages) peuvent également être mises à jour.

Si une version de script est enregistrée et transmise avec 3.11, l'éditeur de scripts ne vous permet pas de déclasser par la suite cette version de script spécifique vers 3.8.

Vérifiez que vous enregistrez et transmettez les versions de script avec le bon environnement d'exécution Python.

Ouvrir un script existant dans l'éditeur de scripts

  1. Ouvrez l'application Robots.

  2. Dans le tableau de bord Robots, sélectionnez l'onglet correspondant au type de robot approprié :

    • Robots HighBond

    • Robots de flux de travail

  3. Cliquez sur un robot pour l'ouvrir. Si le robot se trouve dans un dossier, ouvrez le dossier et cliquez sur le robot.

  4. Dans le coin supérieur droit du robot, cliquez sur Développement pour passer en mode développement.

  5. Dans l'onglet Versions du script, sélectionnez la version du script à tester.

    Généralement, vous devez sélectionner la version du script qui a été activée en mode production. Si aucune version n'a été activée, sélectionnez la plus récente, sauf si vous avez une raison d'en sélectionner une autre.

  6. Dans le panneau Détails sur version, cliquez sur Modifier un script.

    L'éditeur de scripts Robots lance le processus de démarrage et charge l'environnement d'exécution Python 3.11.

    Si le script existant est associé à l'environnement d'exécution Python 3.8, le bouton Mettre à jour l'environnement apparaît dans la barre d'outils de l'éditeur de scripts. Le message suivant apparaît également sous la barre d'outils :

    Les scripts existants s'exécutent désormais sur Python 3.11. Si besoin, vous pouvez repasser à Python 3.8. Robots n'inclura plus Python 3.8.x après la fin de la prise en charge, le 14 octobre 2024.

    Remarque

    Si aucun message n'apparaît et que le bouton Mettre à jour l'environnement n'est pas présent, cela signifie que le script est déjà associé à l'environnement d'exécution Python 3.11. Si le script s'exécute correctement, il n'est pas nécessaire de procéder à des tests liés à l'environnement d'exécution.

Vérifier l'environnement d'exécution

Lors des tests du script, il peut être utile de vérifier quel environnement d'exécution est actuellement actif dans l'éditeur de scripts.

  1. Cliquez dans la première cellule du script.

  2. Cliquez sur l'icône plus à gauche de la cellule et sélectionnez Ajouter une cellule ci-dessus.

  3. Dans la nouvelle cellule, collez ce code :

    import sys
    				print(sys.version)
  4. Exécutez la cellule.

    Le résultat affiche l'environnement d'exécution actuellement actif. Par exemple :

    3.11.4 (main, Dec 15 2023, 23:07:06) [GCC 11.4.1 20230605 (Red Hat 11.4.1-2)]
    3.8.17 (default, Dec 15 2023, 23:05:28) [GCC 11.4.1 20230605 (Red Hat 11.4.1-2)]
  5. Lorsque vous avez terminé de tester un script, supprimez la cellule qui contient le code de la version du système.

Exécuter le script pour le tester

Exécutez le script pour tester s'il est compatible avec l'environnement d'exécution Python 3.11.

Astuce

Si le script met généralement longtemps à s'exécuter parce qu'il importe et analyse un jeu de données important, vous pouvez le modifier temporairement afin de procéder aux tests avec un petit échantillon du jeu de données. L'utilisation de petites quantités de données vous permet de tester les scripts de votre organisation plus rapidement.

Veillez à modifier uniquement le jeu de données cible et non le code Python.

  1. Une fois le processus de démarrage terminé, exécutez le script pour le tester.

    Si le script s'exécute correctement jusqu'à la fin, cela signifie qu'il est compatible avec Python 3.11. Il n'est pas nécessaire de continuer à tester le script. Vous pouvez enregistrer et transmettre le script pour l'associer à l'environnement d'exécution Python 3.11. Consultez la section Enregistrer et transmettre le script.

  2. Si le script échoue, basculez l'environnement d'exécution Python vers 3.8 :

    1. Dans la barre d'outils de l'éditeur de scripts, cliquez sur Mettre à jour l'environnement.

    2. Dans le champ Version de Python, sélectionnez 3.8 et cliquez sur Enregistrer.

      L'environnement d'exécution de l'éditeur de scripts bascule vers Python 3.8.

      Le message sous la barre d'outils de l'éditeur de scripts s'actualise :

      Robots n'inclura plus Python 3.8.x après la fin de la prise en charge, le 14 octobre 2024. Testez les scripts existants pour vérifier leur compatibilité avec Python 3.11, qui est disponible en option lorsque vous transmettez des mises à jour de script.
  3. Réexécutez le script.

    Si le script s'exécute correctement, cela signifie qu'il est compatible avec Python 3.8, mais pas avec 3.11. Vous devez mettre à jour la logique du script pour assurer sa compatibilité avec 3.11. Consultez les ressources Python pour en savoir plus sur les différences entre les deux versions de Python.

    Si le script échoue, le problème n'est sûrement pas lié à l'environnement d'exécution Python. Vous devez déboguer le script.

Enregistrer et transmettre le script

Lorsque vous enregistrez et transmettez le script, associez-le à l'environnement d'exécution Python 3.11 ou Python 3.8, selon le statut du script.

Important

L'association d'un script à l'environnement d'exécution Python 3.8 n'est qu'une mesure temporaire. Elle vous permet d'effectuer des tests supplémentaires et de mettre à jour la logique du script tout en continuant à l'exécuter. D'ici le 14 octobre 2024, tous les scripts de production doivent s'exécuter correctement dans Python 3.11.

Statut du script Action
S'exécute correctement dans Python 3.11
  • Associer le script à l'environnement d'exécution Python 3.11

  • Aucune autre action requise

Échoue dans Python 3.11

S'exécute correctement dans Python 3.8

  • Associer le script à l'environnement d'exécution Python 3.8

  • Mettre à jour la logique du script afin qu'il s'exécute correctement dans Python 3.11

Échoue dans Python 3.11

Échoue dans Python 3.8

  • Associer le script à l'environnement d'exécution Python 3.11

  • Déboguer le script afin qu'il s'exécute correctement dans Python 3.11

Associer le script à l'environnement d'exécution Python 3.11

  1. Effectuez l'une des actions suivantes pour vérifier que l'environnement d'exécution Python 3.11 est actuellement actif dans l'éditeur de scripts :

    • Assurez-vous que le message sous la barre d'outils de l'éditeur de scripts affiche l'icône d'informations et que le message commence par Les scripts existants s'exécutent désormais sur Python 3.11.

    • Vérifiez spécifiquement l'environnement d'exécution. Consultez la section Vérifier l'environnement d'exécution.

  2. Si nécessaire, cliquez sur Mettre à jour l'environnement et basculez vers l'environnement d'exécution 3.11.

  3. Dans la barre d'outils de l'éditeur de scripts, cliquez sur Enregistrer et transmettre.

  4. Saisissez un message de transmission parlant pour décrire vos modifications.

    Astuce

    Il peut être utile d'ajouter « S'exécute dans Python 3.11 » dans le message de transmission.

  5. Facultatif. Sélectionnez Enregistrer la sortie du script dans le fichier journal d'exécution de la tâche.

    Quand vous exécutez un script à l'aide d'une tâche de robot, cette option enregistre l'intégralité de la sortie du script dans un fichier journal. Il peut être utile d'examiner la sortie enregistrée quand vous développez et dépannez des scripts. Pour plus d'informations, consultez la section Enregistrer une sortie de script dans un fichier journal.

  6. Cliquez sur Transmettre pour enregistrer et transmettre le script.

    Le message Votre script a été transmis avec succès apparaît.

  7. Dans l'en-tête de la page, cliquez sur le nom du robot.

    Vous êtes renvoyé à l'onglet Versions du script du robot. Chaque fois que vous enregistrez et transmettez un script, la version enregistrée est ajoutée à cet onglet.

  8. Facultatif. Vérifiez que le script est associé à l'environnement d'exécution Python 3.11 :

    1. Sélectionnez la version du script que vous venez d'enregistrer.

    2. Dans le panneau Détails sur version, cliquez sur Télécharger.

      Le script est téléchargé sur votre ordinateur.

    3. Ouvrez le script dans un éditeur de texte.

      L'environnement d'exécution apparaît en haut du script :

      "runtime":"python3.11"

Associer le script à l'environnement d'exécution Python 3.8

  1. Effectuez l'une des actions suivantes pour vérifier que l'environnement d'exécution Python 3.8 est actuellement actif dans l'éditeur de scripts :

    • Assurez-vous que le message sous la barre d'outils de l'éditeur de scripts affiche l'icône d'avertissement et que le message commence par Robots n'inclura plus Python 3.8.x après la fin de la prise en charge, le 14 octobre 2024.

    • Vérifiez spécifiquement l'environnement d'exécution. Consultez la section Vérifier l'environnement d'exécution.

  2. Si nécessaire, cliquez sur Mettre à jour l'environnement et basculez vers l'environnement d'exécution 3.8.

  3. Dans la barre d'outils de l'éditeur de scripts, cliquez sur Enregistrer et transmettre.

  4. Saisissez un message de transmission parlant pour décrire vos modifications.

    Astuce

    Il peut être utile d'ajouter « S'exécute dans Python 3.8 » dans le message de transmission.

  5. Facultatif. Sélectionnez Enregistrer la sortie du script dans le fichier journal d'exécution de la tâche.

    Quand vous exécutez un script à l'aide d'une tâche de robot, cette option enregistre l'intégralité de la sortie du script dans un fichier journal. Il peut être utile d'examiner la sortie enregistrée quand vous développez et dépannez des scripts. Pour plus d'informations, consultez la section Enregistrer une sortie de script dans un fichier journal.

  6. Cliquez sur Transmettre pour enregistrer et transmettre le script.

    Le message Votre script a été transmis avec succès apparaît.

  7. Dans l'en-tête de la page, cliquez sur le nom du robot.

    Vous êtes renvoyé à l'onglet Versions du script du robot. Chaque fois que vous enregistrez et transmettez un script, la version enregistrée est ajoutée à cet onglet.

  8. Facultatif. Vérifiez que le script est associé à l'environnement d'exécution Python 3.8 :

    1. Sélectionnez la version du script que vous venez d'enregistrer.

    2. Dans le panneau Détails sur version, cliquez sur Télécharger.

      Le script est téléchargé sur votre ordinateur.

    3. Ouvrez le script dans un éditeur de texte.

      L'environnement d'exécution apparaît en haut du script :

      "runtime":"python3.8"