Python 2-Unterstützung in Google Cloud

Die Python-Community hat angekündigt, dass Python 2 am 1. Januar 2020 eingestellt wird. Wir ermutigen alle Entwickler, so bald wie möglich ein Upgrade auf Python 3 durchzuführen. Da Kunden möglicherweise mehr Zeit für die Migration von Python 2 zu Python 3 benötigen, können Google Cloud-Kunden Python 2-Anwendungen ausführen und vorhandene Python 2-Clientbibliotheken nach dem 1. Januar 2020 verwenden .

Verwaltete Computing-Dienste wie App Engine stellen weiterhin eine Python 2-Laufzeit nach dem 1. Januar 2020 bereit. Python 2-Clientbibliotheken stehen weiterhin zum Download zur Verfügung, aber zukünftige Hauptversionen sind nur auf Python 3 ausgerichtet.

Auf dieser Seite erhalten Sie eine Zusammenfassung der Unterstützung von Python 2 und 3 in Google Cloud. Außerdem erhalten Sie Ressourcen für die Migration zu Python 3. Wir werden diese Seite mit den neuesten Ressourcen und Informationen aktualisieren.

Python 2-Supportstatus

Google Cloud Python-Clientbibliotheken

Neue Hauptversionen von Python-Clientbibliotheken, die nach dem 1. Januar 2020 veröffentlicht wurden, unterstützen Python 2.7 nicht. Frühere Hauptversionen können weiterhin heruntergeladen werden. Sie ermöglichen den Zugriff auf vorhandene Dienstendpunkte und unterstützen Nutzer, die derzeit für Python 2.7 entwickeln.

Wenn eine Sicherheitslücke in einer alten Bibliotheksversion oder in einer Bibliotheksabhängigkeit einer alten Bibliotheksversion erkannt wird, ist es nicht erforderlich, einen Patch freizugeben.

App Engine Python 2.7-Laufzeit

Wir sind bestrebt, die App Engine Python 2.7-Laufzeit langfristig zu unterstützen, und setzen damit unsere mehr als zehn Jahre andauernde Tradition fort, Ihre Anwendungen in Ihrem eigenen Tempo zu unterstützen.

Zur langfristigen Unterstützung der Python 2.7-Laufzeit nehmen wir im Laufe der Zeit die folgenden Änderungen vor:

  • Die Laufzeiten werden so weit wie möglich in ihren Open-Source-Zustand zurückversetzt. Wir mussten einige Laufzeiten stark einschränken und ändern, um Ihre Anwendungen sicher in unseren Rechenzentren auszuführen. Durch Änderungen an der Funktionsweise der Laufzeiten in unseren Rechenzentren können wir langfristig eine sichere und skalierbare Umgebung für diese Laufzeiten bereitstellen.

  • Es werden vollständige Build-Systeme hinzugefügt, die Paket-Repositories, native Komponenten-Builds und Asset-Repositories unterstützen.

Weitere Informationen zur langfristigen Unterstützung der Python 2.7-Laufzeit von App Engine finden Sie im Supportplan für die App Engine-Laufzeit. Weitere Informationen zur Migration stehen für Migration zur Python 3-Standardlaufzeit zur Verfügung.

Google Cloud CLI

Die Google Cloud-Befehlszeilenversion 274.0.0 unterstützt Python 3. Ältere Versionen der gcloud-Befehlszeile bleiben zum Download verfügbar. Wir empfehlen jedoch, so bald wie möglich die Version 274.0.0 oder höher zu verwenden und zu Python 3 zu migrieren.

Eine Anleitung zum Konfigurieren der gcloud-Befehlszeile für die Verwendung von Python 3 finden Sie unter Python 3 verwenden.

Neben den gcloud-Befehlszeilentools, die über die Google Cloud-Befehlszeile ausgeliefert werden, ist weiterhin ein Python 2.7-Interpreter erforderlich. Führen Sie für Details Folgendes aus: gcloud topic startup.

Deployment Manager-Vorlagen

Wir gehen davon aus, dass die meisten Deployment Manager-Vorlagen weiterhin mit Python 3 funktionieren. Wenn Sie zusätzlichen Python-Code für Ihre Vorlagen verwenden, z. B. Hilfsskripts oder Vorlagenmodule, achten Sie darauf, dass diese mit Python 3 kompatibel sind.

Informationen dazu, was während der Umstellung von Python 2.7 auf 3.x zu erwarten ist, finden Sie in der Dokumentation zu Deployment Manager.

Dataflow

Seit dem 7. Oktober 2020 unterstützt Dataflow nicht mehr Python 2-Pipelines. Da sowohl die Verschiebung in der Branche als auch die Einstellung von Python 2 in Apache Beam eingestellt wurden, kann Dataflow keine langfristige funktionale Unterstützung oder Wartung von Python 2 garantieren.

Sie können vorhandene Python-Batch- und Streamingpipelines auf Python 3 mit dem neuesten Apache Beam SDK ausführen. Wir empfehlen, dass Sie überprüfen, ob Ihr Pipelinecode mit Python 3 kompatibel ist, indem Sie die Dokumentation zu Python 2-Code zu Python 3 portieren befolgen.

Informationen zu bekannten Problemen bei der Apache Beam Python 3-Migration finden Sie in den häufig gestellten Fragen im Tracker BEAM-1251. Weitere Informationen zum Supportstatus von Apache Beam 2.x SDKs finden Sie auf der Supportseite für SDK-Versionen.