Versions Python compatibles

Cloud Composer 1 | Cloud Composer 2

Cloud Composer 1 est compatible avec Python 2 et Python 3.

Pour afficher les versions major.minor.patch de Python utilisées dans une image Cloud Composer spécifique, consultez la liste des versions de Cloud Composer.

Fonctionnement de la gestion des versions Python

Vous pouvez créer des environnements basés sur Python 2 et Python 3 dans le même projet Google Cloud. Chaque environnement ne peut utiliser qu'une seule version majeure de Python: Python 2 ou Python 3.

Vous pouvez spécifier la version majeure de Python lorsque vous créez un environnement Cloud Composer.

Une fois l'environnement créé, vous ne pouvez plus modifier la principale version Python de l'environnement. De plus, il n'est pas possible de basculer un environnement existant vers une autre version mineure de Python.

À propos de la compatibilité de Python 2

Cloud Composer 1 est compatible avec Python 2 et continuera de le faire jusqu'à ce qu'Airflow cesse de le prendre en charge. Toutefois, Python 2 étant arrivé en fin de vie le 1er janvier 2020, des limitations de compatibilité avec les environnements Python 2 peuvent exister.

Les nouveaux opérateurs, capteurs et hooks d'Airflow ne sont développés que pour Python 3, ce qui peut rendre les options de connectivité obsolètes pour les environnements Python 2. Par conséquent, nous vous recommandons vivement de migrer vos DAG vers un environnement Python 3 et de créer tous les environnements avec Python 3.

Les répercussions des versions Python sur les DAG et les dépendances

Lorsque vous installez des dépendances Python à partir de l'index de packages Python, la version Python de l'environnement détermine le pip qui installe le package. Par exemple, Python 3 utilise pip3. En outre, la commande pip pointe vers pip3.

Comme le package Python 3 inclut Python 2, le problème lié à l'interpréteur Python à utiliser se produit (PEP 394). Pour les environnements Python 3, la commande python pointe vers python3.

L'abandon de Python 2 étant planifié, nous vous recommandons d'utiliser explicitement python2 ou python3 dans les opérateurs, tels que BashOperator et PythonOperators.

Étape suivante