タグ別アーカイブ: google app engine

Flask on Google App Engine(buildout 編)

buildout を使って Flask + Google App Engine な環境を構築してみたメモ。

buildout とは、Pythonベースの環境構築ツール。
日本語による記事が少なくて非常にとっつきにくいですが、慣れると簡単便利です。

こちらが今回書いた物。一応、Linux(CentOS5), MacOSX10.6で動作確認済み。
flask-gae-template

セットアップしてみる

以下のコマンドを入力する。
(gitがない場合、代わりに上記サイトのDownloadsからダウンロード&解凍すればOK)

$ git clone https://github.com/utahta/flask-gae-template.git
$ cd flask-gae-template
$ curl -LO http://svn.zope.org/*checkout*/zc.buildout/trunk/bootstrap/bootstrap.py
$ python bootstrap.py -d
$ ./bin/buildout

するといろいろディレクトリが作成されたり、GoogleAppEngineのSDKやFlaskがダウンロードされたりする。
いろいろ作成された中のsrcという名のディレクトリが、作業場。

とこれだけでセットアップは完了。

残るは動作確認。

次のコマンドを打って、

$ ./bin/dev_appserver src/

ウェブサーバを起動し、http://localhost:8080にアクセスしてエラーがなければ成功です。

ちなみに

作業場の名前(src)が気に食わなかったら、buildout.cfgのこの部分を好きな名前に書き換えて、もう1度./bin/buildoutすると良い感じです。

GoogleAppEngineLauncher等、既にインストール済みのヤツを使いたかったら、buildout.cfgのこの行をコメントアウトなり削除なりして、パスを指定してあげると良い感じです。
たとえば、/usr/local/google_appengineにインストールしたやつを使いたかったら、

sdk-directory = /usr/local/google_appengine

とします。

参考

Flask で始める Google AppEngine アプリ開発 – TIM Labs
Google App Engine の開発をbuildoutで行う — Python Hack-a-thon 4: ハンズオン v1.0 documentation

Flask on Google App Engine

Google App Engine 上で Flask を動かす用のスケルトンプログラムを作った。

git 使い専用。

buildout 以外のアプローチ。(buildout ややこしいんですもん)

git clone して copy コマンドを叩くと、プロジェクトの雛形がつくられる。

使い方

$ git clone https://utahta@github.com/utahta/flask-gae-skeleton.git
$ cd flask-gae-skeleton
$ git submodule update --init
$ python copy_skeleton.py -t /path/to/project_name

/path/to/project_name下に雛形がコピられる。

自分の環境は Mac & GoogleAppEngineLauncher.app なので、
この後、GUIから/path/to/project_nameを設定して開始ボタンを押したりする。

スケルトンプログラム自体は元々、blossom / flask-gae-skeleton というものがあって、
これをフォークしてシンプルにしただけ。

こーゆーアプローチもありなんじゃないかということで。