App Engine スタンダード環境の Python 3 ランタイムでアプリを実行する前に、App Engine で使用する構成ファイルの一部を変更する必要があります。
app.yaml
。このファイルには、ランタイムやアプリハンドラなど、アプリのコードに関する情報が含まれています。appengine_config.py
。Python 2 ランタイムは、このファイルを使用してサードパーティ ライブラリにアクセスし、定数とフック関数の値を提供します。Python 3 ランタイムでは、このファイルは使用されません。
app.yaml
の更新
app.yaml
構成ファイル内の一部のフィールドの動作が変更されています。サポートが終了したフィールドを削除し、次の表で説明するように、他のフィールドを更新します。
フィールド | 変更の種類 | 説明 |
---|---|---|
app_engine_apis | Python 3 のみに適用 | Python 3 用の以前のバンドル サービスにアクセスする場合は、true に設定する必要があります。 |
api_version application_readable builtins |
サポートが終了しています | Python 3 ランタイムでは適用できません。 |
threadsafe | サポートが終了しています | アプリケーションはすべてスレッドセーフであると推定されます。アプリケーションがスレッドセーフでない場合は、entrypoint を指定して、ワーカーごとに 1 つのスレッドを構成します。F4 インスタンス クラスを使用する場合の例: entrypoint: gunicorn -b :$PORT -w 8 --threads 1 main:app 各インスタンス クラスのワーカーの推奨の数については、エントリポイントのおすすめの方法をご覧ください。 |
ライブラリ | サポートが終了しています |
requirements.txt ファイルを使用して、依存関係の宣言およびクライアント ライブラリのインストールを行います。 |
handlers: login | app_engine_apis が true の場合にサポート |
Python 3 用の以前のバンドル サービスを使用していない場合、ユーザー管理には Identity and Access Management(IAM)を使用してください。 |
handlers: script | 変更されました | Python 2 ランタイムでは、script フィールドを使用して、受信リクエストをアプリのスクリプトにルーティングします。Python 3 ランタイムでは、
静的ファイル処理はこれまでどおりご利用いただけます。 |
非推奨のフィールドを使用すると、App Engine はアプリをデプロイするときにエラーを返します。
以下の例を使用して、app.yaml
ファイルの違いを比較できます。
Python 2
runtime: python27 api_version: 1 threadsafe: true handlers: - url: / script: home.app - url: /index\.html script: home.app - url: /stylesheets static_dir: stylesheets - url: /(.*\.(gif|png|jpg))$ static_files: static/\1 upload: static/.*\.(gif|png|jpg)$ - url: /admin/.* script: admin.app login: admin - url: /.* script: not_found.app
Python 3
runtime: python311 app_engine_apis: true handlers: - url: /stylesheets static_dir: stylesheets - url: /(.*\.(gif|png|jpg))$ static_files: static/\1 upload: static/.*\.(gif|png|jpg)$ - url: /admin/.* script: auto login: admin
appengine_config.py
の削除
App Engine スタンダード環境の Python 2 ランタイムでは、appengine_config.py
ファイルが使用されます。
このファイルは Python 3 ランタイムでは無視されます。その代わりに、Python 3 ランタイムでは、ネイティブ コードを使用する依存関係を含む、依存関係のインストールに標準 requirements.txt
ファイルが使用されます。詳細については、Python 3 ランタイムで依存関係を指定するをご覧ください。