LoginSignup
5

More than 5 years have passed since last update.

GoogleAppEngineでFlaskアプリケーションをとりあえず動かすまで

Posted at

GAEでFlaskのアプリケーションを動かす手順メモ。
正直勉強し始めたばかりなのでなにかバカやらかしてるかもしれないので指摘をよろしくおねがいします…。

GoogleAppEngineとは

Wikipediaによると

Google App Engine (GAE) は、Googleの提供するサービスの1つであり、ウェブアプリケーションをPHP・Python・Java・Go言語を使用して開発し、Googleのインフラストラクチャー上で実行し、バージョン管理することができる。Google Cloud Platformの一部。

とのこと。まぁよく分からないけどとってもすごい楽なサーバー。

Flaskとは

FlaskはPythonのWebフレームワーク。djangoとかと違って、必要最低限の機能しか持ち合わせていないことからmicroframeworkなんて呼ばれていたりするらしい。ちょこっとWebアプリを開発したいときにうってつけ。
詳しくはこのへんをご覧ください。

GAEでとりあえず動かすまで

使用環境

使用した環境はUbuntu14.04、Python2.7.6です。ちなみにUbuntuは今回ConohaのVPS上で稼働しているものを使用しました。

ここに書く方法で他のLinuxでも対応できると思いますが、Pythonは2.7.x系が必須です。

1.SDKを落とす

Python用のSDKをGoogleから落とします。リンクはここに。

Linux/OtherPlatformsのgoogle_appengine_1.9.38.zip(執筆時点)のリンクをコピって
bash
wget https://storage.googleapis.com/appengine-sdks/featured/google_appengine_1.9.38.zip

とかやってあげればいいと思います。
落としてきたzipはunzipあたりで展開して任意のディレクトリに移動してあげてください。

2.Pathを通す

1で落として展開したgoogle_appengineのディレクトリにpathを通しておくとのちのち楽です。vim ~/.bash_profileとかしてあげて、
bash
export PATH=$PATH:/usr/local/bin/google_appengine

とか書いて保存した後にsorce ~/.bash_profileとかでOKです。

3.テストプロジェクトをcloneする

自分でイチから書いてもいいんですけど、今回は動かすところがゴールってことでGoogleCloudPlatformのGithubからサンプルをcloneしましょう。gitが入ってない方はgit入れておいてもらって、
bash
git clone https://github.com/GoogleCloudPlatform/appengine-flask-skeleton.git

で落とせるかと思います。

4.実行する

テスト用のサーバーは、SDKのdev_appserver.pyですので、実行したいときは
bash
dev_appserver.py /path/to/project

みたいな感じになります。(path/to/projectはプロジェクトのディレクトリまでのパスであって、main.pyとかではないことに注意。)

ちなみにVPSとかで実行している場合は上のコマンドではブラウザから見ることができないので
bash
dev_appserver.py --host 0.0.0.0 /path/to/project

としてあげてからhttp://example.com:8080へアクセスしてみてください。

エラーがでるとき

もしかしたらライブラリが足りないのかもしれません。その場合は、
bash
pip install -r requirements.txt -t lib

としてあげてから実行するといいと思います。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5