Python 3.7 Flaskを利用したGoogle App Engine のチュートリアル

Pythonは長年2系と3系の2つのバージョンが混在していた状態でしたが、GAEのStandard environmentではPython 2系しか利用できず、Python 3系を利用しようと思うとFlexible environmentを利用するしかありませんでした。Python 2系のサポートが2020年に終了することを受け各社Python 3系への移行が進んでおり、その流れはGoogle App Engine (以下GAE) でも同様です。現在(2018/8/15)はまだベータ版ですが今後はGAEにおいてもPython 3系が主流になるので、先取りして今回はPython 3.7について記します。

前回、Python 2.7 Flaskを利用したGoogle App Engineの記事より実際に試した方でしたら、app.yamlのruntaimeを「python37」に変更するだけと思いがちですが、実際にはそれだけではありません。必要な手続きを確認しましょう。

Google App EngineにおいてPython 3系はベータ版であるため、今後変更される可能性があります。

Google App Engineを利用するには、Google Cloud Platform画面上でその前準備が必要になります。以前に紹介した記事を参考に準備を整えてください。
Google App Engine を利用するための前準備

Python 3.7 Flask を利用したGoogle App Engine のチュートリアル

Python 2.7のときはFlaskを利用するために、app.yamlのlibrariesの項目に「flask」と記していましたが、Python 3.7ではこの方法を取ることができません。またthreadsafeについても、まだサポートされていません。作業フォルダsrcの配下にapp.yamlを作成し、以下のように記述します。

ここには、

  • ・Python 3.7を利用する
  • ・アクセスがあったとき、main.pyの処理を実行する

などが記されています。

それではFlaskを利用することはどこに記述すればよいのでしょうか。それはPythonではお馴染みのrequirements.txtです。srcフォルダにrequrements.txtファイルを作成し、次のように記述しましょう。

そしてPythonのソースコードは、srcフォルダにmain.pyファイルを作成し作成し、次のように記述します。

それではこれらをデプロイしましょう。シェル上で、次のコマンドを実行します。

作業を行うため src フォルダに移動した後、gcloud app deploy コマンドを利用しデプロイを行います。<プロジェクトID>の箇所は、ご自身のプロジェクトIDを入力してください。確認メッセージが表示されたら「Y」と入力します。2分ほど待つと処理が終わります。

Deployed service [default] to [https://プロジェクトID.appspot.com]

と表示されていることを確認しましょう。

Python37 HelloWorld

最後に

  • https://プロジェクトID.appspot.com

にアクセスすると「Hello World!」の表示が見れるでしょう。

まとめ

Python 2.7のときとは設定が若干異なりますが、Python 3.7でも動作させることができました。threadsafeが利用できない問題など残っていますが、正式版では利用できるものと思われます。いち早くPython 3.7を採用してみてはいかがでしょうか。

URL :
TRACKBACK URL :
» お仕事のご依頼はこちら