Python 2 wird von der Community nicht mehr unterstützt. Wir empfehlen die Migration von Python 2-Anwendungen zu Python 3.

Konfigurationsdateien für die Python 3-Laufzeit vorbereiten

Bevor Sie Ihre Anwendung in der Python 3-Laufzeit der App Engine-Standardumgebung ausführen können, müssen Sie möglicherweise einige der von App Engine verwendeten Konfigurationsdateien ändern:

  • app.yaml: Diese Datei enthält Informationen zum Code der Anwendung, beispielsweise zur Laufzeit und neuesten Versionskennung.

  • appengine_config.py: Die Python 2-Laufzeit verwendet diese Datei, um Clientbibliotheken zu installieren und Werte für Konstanten und „Hook-Funktionen“ bereitzustellen. Die Python 3-Laufzeit verwendet diese Datei nicht.

app.yaml aktualisieren

Das Verhalten einiger Felder in Ihrer app.yaml-Konfigurationsdatei wurde geändert. Entfernen Sie alle nicht mehr unterstützten Felder und aktualisieren Sie andere Felder, wie in der folgenden Tabelle beschrieben.

Feld Änderungstyp Beschreibung
api_version
application_readable
builtins
Nicht mehr unterstützt. Nicht zutreffend in der Python 3-Laufzeit
threadsafe Nicht mehr unterstützt. Alle Anwendungen gelten als threadsicher. Wenn Ihre Anwendung nicht threadsicher ist, setzen Sie max_concurrent_requests auf 1. Dadurch können Ihre Kosten erheblich steigen.
libraries Nicht mehr unterstützt. Verwenden Sie die Datei requirements.txt, um Abhängigkeiten zu deklarieren und Clientbibliotheken zu installieren.
handlers: login Nicht mehr unterstützt. Das Feld login wird nicht unterstützt Verwenden Sie Identity and Access Management (IAM) für die Nutzerverwaltung.
handlers: script Geändert In der Python 2-Laufzeit verwenden Sie das Feld script, um eingehende Anfragen an das Skript Ihrer Anwendung weiterzuleiten.

In der Python 3-Laufzeit müssen Sie ein Web-Framework mit anwendungsinternem Routing (z. B. Flask oder Django) anstelle des Feldes script verwenden.

Führen Sie zum Migrieren der Datei app.yaml zur Python 3-Laufzeit einen der folgenden Schritte aus, je nachdem, ob die Datei statische Handler sowie Skript-Handler enthält:

  • Wenn die Datei app.yaml statische Handler enthält, führen Sie einen der folgenden Schritte aus, damit Anfragen für dynamische Inhalte an das Skript Ihrer Anwendung weitergeleitet werden:
    • Entfernen Sie alle script-Felder. Fügen Sie dann das Feld entrypoint hinzu, um einen Webserver zu starten, auf dem Ihre Anwendung ausgeführt wird. Anfragen, die mit keinem Ihrer statischen Handler übereinstimmen, werden an den Webserver weitergeleitet, den Sie im Feld entrypoint angegeben haben. Der Webserver und das Web-Framework der Anwendung sind dafür verantwortlich, die Anfrage an das richtige Skript weiterzuleiten.
    • Ersetzen Sie den Wert aller script-Felder durch auto. App Engine führt Ihre Anwendung automatisch auf einem Webserver aus (sofern Ihre Anwendung einige Anforderungen erfüllt) und alle Anfragen, die mit einem Skript-Handler übereinstimmen, werden an den Webserver weitergeleitet. Der Webserver und das Web-Framework der Anwendung sind dafür verantwortlich, die Anfrage an das richtige Skript weiterzuleiten.
    • Wenn die Datei app.yaml keine statischen Handler enthält, entfernen Sie alle script-Felder. Alle Anfragen an Ihre Anwendung werden an den Webserver Ihrer Anwendung weitergeleitet und das Framework der Anwendung leitet die Anfrage an das richtige Skript weiter. Optional können Sie das Feld entrypoint hinzufügen, um das Standardverhalten beim Start anzupassen.

Die Verarbeitung statischer Dateien bleibt unverändert.

Wenn Sie eines der verworfenen Felder verwenden, gibt App Engine einen Fehler zurück, wenn Sie Ihre Anwendung bereitstellen.

appengine_config.py entfernen

Die Python 2-Laufzeit in der App Engine-Standardumgebung, die die Datei appengine_config.py verwendet, enthält Bibliotheken von Drittanbietern. Die Python 3-Laufzeit ignoriert die Datei appengine_config.py.

Stattdessen verwendet die Python 3-Laufzeit die Standarddatei requirements.txt zum Installieren von Abhängigkeiten, einschließlich Abhängigkeiten, die nativen Code verwenden. Weitere Informationen finden Sie unter Abhängigkeiten angeben in der Python 3-Laufzeit.