Versiones de Python compatibles

Cloud Composer 1 | Cloud Composer 2

Cloud Composer 1 es compatible con Python 2 y Python 3.

Para ver las versiones major.minor.patch de Python que se usan en una imagen específica de Cloud Composer, consulta la lista de versiones de Cloud Composer.

Cómo funciona el control de versiones de Python

Puedes crear entornos basados en Python 2 y Python 3 en el mismo proyecto de Google Cloud. Cada entorno puede usar solo una versión principal de Python: Python 2 o Python 3.

Puedes especificar la versión principal de Python cuando creas un nuevo entorno de Cloud Composer.

Después de crear un entorno, no se puede cambiar la versión principal de Python del entorno. Además, no es posible cambiar un entorno existente a una versión secundaria de Python diferente.

Información sobre la compatibilidad con Python 2

Cloud Composer 1 es compatible con Python 2 y continuará haciéndolo hasta que Airflow deje de brindar asistencia. Sin embargo, Python 2 alcanzó el final del ciclo de vida el 1 de enero de 2020, lo que puede generar limitaciones de compatibilidad para entornos de Python 2.

Los nuevos operadores, sensores y hooks de Airflow solo se desarrollan para Python 3, lo que puede hacer que las opciones de conectividad estén desactualizadas para los entornos de Python 2. Por lo tanto, recomendamos migrar tus DAG a un entorno de Python 3 y crear todos los entornos nuevos con Python 3.

Cómo afectan las versiones de Python a los DAG y las dependencias

Cuando instalas dependencias de Python desde el índice de paquetes de Python, la versión de Python del entorno determina qué pip instala el paquete. Por ejemplo, Python 3 usa pip3. Además, el comando pip apunta a pip3.

Debido a que el paquete de Python 3 incluye Python 2, surge el problema de qué intérprete de Python usar (PEP 394). Para los entornos de Python 3, el comando python apunta a python3.

Debido a que Python 2 está programado para el final del ciclo de vida, te recomendamos que uses python2 o python3 de forma explícita en operadores, como BashOperator y PythonOperators.

¿Qué sigue?