Versions Python compatibles

Cloud Composer 1 | Cloud Composer 2

Cloud Composer 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 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 sa version majeure Python. En outre, il n'est pas possible de passer d'un environnement existant à une autre version mineure Python.

À propos de la compatibilité avec Python 2

Cloud Composer est actuellement compatible avec Python 2 et le restera jusqu'à ce que sa compatibilité avec Airflow ne soit plus assurée. 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, la question se pose de savoir quel interpréteur Python utiliser (PEP 394). Pour les environnements Python 3, la commande python pointe vers python3.

La fin de vie de Python 2 étant programmée, nous vous recommandons d'utiliser explicitement python2 ou python3 dans les opérateurs, tels que BashOperator et PythonOperators.

Étape suivante