Python アプリケーションの依存関係は標準 requirements.txt
ファイルで宣言されています。次に例を示します。
Flask==MAJOR.MINOR.PATCH
google-cloud-storage
MAJOR、MINOR、PATCH は、目的の Flask バージョン番号に置き換えます。
任意の Linux 互換 Python パッケージをネイティブ(C)拡張機能を必要とするパッケージを含む App Engine フレキシブル環境で使用できます。
Python ランタイムは、デプロイ中に requirements.txt
で宣言されたすべての依存関係を自動的にインストールします。
依存関係をローカルにインストールする
アプリケーションをローカルで開発してテストする場合は、venv
を使用してアプリケーションの依存関係をシステム パッケージから分離することをおすすめします。これにより、依存関係がローカルマシンとデプロイしたアプリケーションで確実に同じバージョンが使用されるようにすることもできます。
venv
を使用して依存関係をインストールする手順は次のとおりです。
macOS / Linux
- 分離された Python 環境を作成します。
python3 -m venv env
source env/bin/activate
- 現在のディレクトリにサンプルコードが含まれていない場合は、
hello_world
サンプルコードが含まれるディレクトリに移動します。それから依存関係をインストールします。cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
Windows
PowerShell を使用して Python パッケージを実行します。
- インストールされた PowerShell を探します。
- PowerShell へのショートカットを右クリックし、管理者として PowerShell を起動します。
- 分離された Python 環境を作成します。
python -m venv env
.\env\Scripts\activate
- プロジェクト ディレクトリに移動し、依存関係をインストールします。サンプルコードが含まれるディレクトリにいない場合は、
hello_world
サンプルコードが含まれるディレクトリに移動します。それから依存関係をインストールします。cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
これにより、アプリをローカルで実行するときに、requirements.txt
ファイルで宣言されている依存関係のみが使用できるようになります。デプロイ中に App Engine によってインストールされる依存関係は、env/
ディレクトリの内容ではなく、requirements.txt
ファイルの内容に基づいています。
ウェブ フレームワークのインストール
アプリでウェブ リクエストに対応できるようにするには、ウェブ フレームワークを使用する必要があります。以下を含む任意の Python ウェブ フレームワークを使用できます。
特定のウェブ フレームワークを使用するには、次の requirements.txt
に追加します。
Flask==MAJOR.MINOR.PATCH
WSGI サーバーをインストールする
組み込み WSGI サーバーが搭載されたウェブ フレームワークがありますが、本番環境のトラフィックの処理に適しているのは少数です。大部分のウェブ アプリケーションは、Gunicorn、uWSGI、Waitress などのスタンドアロン WSGI サーバーを使用します。WSGI サーバーのインストール、構成、使用方法については、アプリケーションの起動をご覧ください。
Cloud クライアント ライブラリのインストール
Python 用 Cloud クライアント ライブラリは、Google Cloud サービスへのアクセス用クライアント ライブラリで、記述する必要があるボイラープレート コードを著しく減らします。ライブラリは、高いレベルの API 抽象化を提供するため、理解しやすくなります。Python 固有のスタイルに従っているため、標準ライブラリとうまく連携し、コードベースとの統合にも優れています。
たとえば、Datastore や Cloud Storage に対応する Python クライアント ライブラリをインストールして、それらのサービスをアプリと統合できます。
Cloud Datastore 用の Python クライアント ライブラリをインストールするには:
クライアント ライブラリをローカルにインストールするには、次のように
pip
を使用します。pip install google-cloud-datastore
認証をセットアップします。Python 用 Cloud クライアント ライブラリを構成して、自動で認証を処理できます。クライアント ライブラリも Google Cloud CLI を使用して自動で認証を処理できます。
gcloud auth login
Datastore クライアント ライブラリのリファレンスを使用して、Cloud Datastore サービスのサポートをアプリに実装します。
サポートされている Google Cloud サービスに対する Python 用 Cloud クライアント ライブラリすべての一覧については、API と Python ライブラリをご覧ください。