Compatibilidad con Python 2 en Google Cloud

La comunidad de Python anunció que dejará de Python 2 el 1 de enero de 2020 y alentará a todos los desarrolladores a actualizar a Python 3 en cuanto puedan. En reconocimiento que los clientes podrían necesitar más tiempo para migrar de Python 2 a Python 3, los clientes de Google Cloud podrán ejecutar apps de Python 2 y usar las bibliotecas cliente Python 2 existentes después del 1 de enero de 2020.

Los servicios de procesamiento administrados, como App Engine, seguirán proporcionando un entorno de ejecución de Python 2 posterior al 1 de enero de 2020. Las bibliotecas cliente de Python 2 seguirán disponibles para su descarga, pero las futuras actualizaciones generales solo se orientarán a Python 3.

En esta página, se proporciona un resumen de la compatibilidad con Python 2 y 3 en Google Cloud, y se proporcionan recursos para ayudarte a migrar a Python 3. Mantendremos esta página actualizada con la información y los recursos más recientes.

Estado de compatibilidad de Python 2

Bibliotecas cliente de Python de Google Cloud

Las nuevas versiones principales de las bibliotecas cliente de Python publicadas después del 1 de enero de 2020 no serán compatibles con Python 2.7. Las versiones anteriores principales seguirán disponibles para su descarga, lo que permitirá el acceso a los extremos de servicio existentes y será compatible con los usuarios que se desarrollan para Python 2.7.

Si se detecta una vulnerabilidad en una versión anterior de la biblioteca o en una dependencia de la biblioteca de una versión anterior, no existe ninguna planificación para lanzar un parche.

Entorno de ejecución de Python 2.7 en App Engine

Nos comprometemos a ofrecer asistencia a largo plazo para el entorno de ejecución de Python 2.7 en App Engine y continuar con nuestro trabajo de más de una década mientras avanzas a tu propio ritmo.

Para admitir el entorno de ejecución de Python 2.7 a largo plazo, realizaremos los siguientes cambios a lo largo del tiempo:

  • Restableceremos los entornos de ejecución a sus estados de código abierto sin bifurcar tanto como sea posible. Tuvimos que restringir y modificar en gran medida algunos de los entornos de ejecución para ejecutar las apps de forma segura en nuestros centros de datos. Con los cambios que realizamos en la forma de operar los entornos de ejecución en nuestros centros de datos, podemos proporcionar un entorno seguro y escalable para estos entornos de ejecución a largo plazo.

  • Agregaremos sistemas de compilación completos que admitan repositorios de paquetes, compilaciones de componentes nativos y repositorios de elementos.

Para obtener más información sobre la compatibilidad a largo plazo del entorno de ejecución de Python 2.7 de App Engine, consulta el Plan de asistencia de largo plazo de App Engine. Puedes obtener más información sobre la migración para Migra al entorno de ejecución estándar de Python 3.

SDK de Cloud

La versión 274.0.0 del SDK de Cloud incluye compatibilidad con Python 3. Las versiones anteriores del SDK de Cloud seguirán disponibles para descargar, pero recomendamos usar la versión 274.0.0 o una versión más reciente, y migrar a Python 3 lo antes posible.

A fin de obtener instrucciones sobre cómo configurar el SDK de Cloud para usar Python 3, consulta Usa Python 3.

Algunas herramientas de Python que no sean la herramienta de línea de comandos de gcloud que se envían en el SDK de Cloud aún requieren un intérprete de Python 2.7. Para los detalles, ejecuta: gcloud topic startup.

Plantillas de Deployment Manager

Esperamos que la mayoría de las plantillas de Deployment Manager sigan funcionando con Python 3. Si usas código de Python adicional con tus plantillas, como secuencias de comandos auxiliares o módulos de plantilla, asegúrate de que sean compatibles con Python 3.

Para obtener información sobre qué esperar durante la transición de Python 2.7 a 3.x, consulta la documentación de Deployment Manager.

Dataflow

A partir del 7 de octubre de 2020, Dataflow ya no será compatible con las canalizaciones de Python 2. Debido al cambio en la industria y a la interrupción de la asistencia de Python 2 en Apache Beam, Dataflow no puede garantizar la asistencia funcional a largo plazo ni el mantenimiento de la oferta de Python 2.

Puedes ejecutar las canalizaciones de transmisión y por lotes de Python existentes en Python 3 mediante el SDK de Apache Beam más reciente. Te recomendamos verificar que el código de canalización sea compatible con Python 3 mediante la documentación de la portabilidad de Python 2 a Python 3.

Para conocer los problemas conocidos relacionados con la migración de Python 3 a Apache Beam, consulta las Preguntas frecuentes sobre la herramienta BEAM-1251. Para obtener más información sobre el estado de compatibilidad de los SDK 2.x de Apache Beam, consulta la página de estado de asistencia de la versión del SDK.