Migrer vos modèles vers Python 3

À compter du 1er janvier 2020, la communauté Python ne mettra plus à jour Python 2.7. Elle ne corrigera plus ses bugs éventuels et ne réglera plus les problèmes de sécurité qui y sont liés. Nous vous recommandons de vérifier dès que possible la compatibilité de vos modèles Deployment Manager avec Python 3.

Pour obtenir un aperçu des produits concernés par cette modification, y compris des informations sur l'utilisation des bibliothèques clientes Google Cloud Python, consultez l'article Compatibilité de Python sur Google Cloud.

Migrer vos modèles Deployment Manager

La syntaxe de Deployment Manager n'utilise aucune fonctionnalité spécifique à Python 3. Dans la plupart des cas, vos modèles doivent fonctionner avec Python 3, sans nécessiter de modifications de code.

Si vous utilisez des modules de modèle, tels que des scripts d'aide, vous devez vous assurer qu'ils sont compatibles avec Python 3.

Pour en savoir plus sur le transfert du code de Python 2 vers Python 3, consultez le Guide de portage vers Python.org. Si vous souhaitez tester la compatibilité de votre modèle avec Python 3, essayez un déploiement test avec le modèle. Si le déploiement réussit sans avertissement, votre modèle est compatible et ne nécessite aucune modification.

Si vos modèles comportent des fonctionnalités incompatibles avec Python 3, vos déploiements continueront à fonctionner jusqu'en juin 2020. L'un de ces avertissements peut s'afficher :

  • Le modèle n'est pas compatible avec Python 3 : le modèle s'exécute avec Python 2, mais échoue avec Python 3. L'avertissement affiche le message d'erreur Python 3, afin que vous puissiez déboguer votre code.

  • Le modèle a généré différents résultats avec Python 3 et Python 2 : il est possible que votre déploiement soit non déterministe (par exemple, s'il repose sur l'heure actuelle ou sur des nombres aléatoires) ou qu'un modèle utilise une fonctionnalité incompatible avec Python 3. Si votre modèle n'est pas déterministe par nature, vous ne devez pas le modifier.

    Si votre modèle utilise une fonctionnalité incompatible avec Python 3, respectez les consignes du Guide de portage vers Python 3 pour mettre à jour le modèle.