Versions Python compatibles

Cloud Composer est compatible avec Python 2 et Python 3. Les environnements avec différentes versions de Python peuvent être exécutés dans le même projet Google Cloud.

Fonctionnement de la gestion des versions

Vous pouvez spécifier la version majeure de Python. Pour cette version, Cloud Composer installe la dernière version major.minor.patch compatible. Si aucune version n'est spécifiée, c'est la version de Python par défaut qui est utilisée.

Version majeure Version de correctif mineure
2 2.7.15
3 (par défaut) 3.6.6

Vous pouvez afficher la version majeure de Python pour votre environnement sur la page Détails de l'environnement.

Sélectionner une version

Lorsque vous créez un environnement Cloud Composer, vous pouvez sélectionner la version Python. Une fois l'environnement créé, vous ne pouvez plus modifier la version Python associée.

Informations importantes sur la compatibilité avec Python 2

Cloud Composer est actuellement compatible avec Python 2 et le restera jusqu'à ce 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, on peut se demander 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