初めてGoogle App Engine (GAE) を利用するとき、サードパーティ・ライブラリの扱いに戸惑ってしまうことがあります。GAEにおいてサードパーティ・ライブラリの利用の仕方は、大きく2種類の方法があります。今回はこの方法について紹介したいと思います。
サードパーティ・ライブラリ
サードパーティ・ライブラリを利用方法は2通りありますが、どのようにして2種類を使い分けるのかは、まずGAE ランタイムで使用できる組み込みのサードパーティ・ライブラリを知る必要があります。そのライブラリは次のURLに記されています。
https://cloud.google.com/appengine/docs/standard/python/tools/built-in-libraries-27
django, flask, numpy, ssl など一般的に利用されるライブラリは一通り網羅されているかと思います。またこれらのサポートされるバージョンにも注意が必要です。
サードパーティ・ライブラリの利用方法
サードパーティ・ライブラリの利用方法は次の2通りになります。
- GAEランタイムで使用できる組み込みのサードパーティ・ライブラリ
- 上記以外のサードパーティ・ライブラリ
それぞれの利用方法を具体的に見ていきましょう。
1. GAEランタイムで使用できる組み込みのサードパーティ・ライブラリ
app.yaml に使用するライブラリを記述します。
例えば、ssl, MySQLdb ライブラリを利用するのであれば、以下のように記述します。
libraries:
- name: ssl
version: latest
- name: MySQLdb
version: latest
2. 上記以外のサードパーティ・ライブラリ
ライブラリをプロジェクトに含めて使用します。例えば、「lib」フォルダを用意しておき、pip によりライブラリを「lib」フォルダにインストールすればいいでしょう。
具体的には次の手順となります。
プロジェクトのルートフォルダに「lib」フォルダを作成します。
mkdir lib
そして、使用するサードパーティ・ライブラリを次のようなコマンドで「lib」フォルダへインストールします。
pip install -t lib/ <library_name>
app.yaml ファイルと同じフォルダに「appengine_config.py」ファイルを作成し、次のように記述します。
from google.appengine.ext import vendor
vendor.add('lib')
これで「lib」フォルダにあるライブラリを利用できるようになります。
上記について、詳細は以下に記されていますので、併せて読んでみるといいでしょう。
https://cloud.google.com/appengine/docs/standard/python/tools/using-libraries-python-27
まとめ
初めてGAEを利用すると、サードパーティ・ライブラリの扱いに困ることがありますが、実際には2通りだけ覚えていればいいので簡単です。ぜひ利用してみて下さい。