Google App Engine で Python 2.7 を使った Hello World

Google App Engine で Python 2.7 が使えるようになっていた。
違いは What’s New in Python 2.7 – Google App Engine — Google Developers にまとまっているんだけれど、手を動かさないと理解できない。
そこで Introduction – Google App Engine — Google Developers に従って Hello World し直してみた。使っている PC は Windows7 64bit。

手順:

  1. Python 2.7 Release から Windows x86 MSI Installer をダウンロードしてインストール。
  2. Downloads – Google App Engine — Google Developers から GoogleAppEngine-1.6.5.msi をダウンロードしてインストール。「Python2.5が見つかった」と表示されるけど気にしない。
  3. Google App Engine Launcherを起動して、Python2.7を利用するように修正(Edit > Preferences > Python Path)。

あとはチュートリアルに従ってソースコードを書いて、Google App Engine Launcher にプロジェクトとして追加し、Runすればよい。

古い helloworld.py (Python2.5) – Using the webapp Framework – Google App Engine — Google Developers

from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app

class MainPage(webapp.RequestHandler):
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.out.write('Hello, webapp World!')

application = webapp.WSGIApplication(
                                     [('/', MainPage)],
                                     debug=True)

def main():
    run_wsgi_app(application)

if __name__ == "__main__":
    main()

新しい helloworld.py (Python2.7)

import webapp2
class MainPage(webapp2.RequestHandler):
  def get(self):
      self.response.headers['Content-Type'] = 'text/plain'
      self.response.out.write('Hello, webapp World!')

app = webapp2.WSGIApplication([('/', MainPage)],
                              debug=True)

ということで、webapp ではなく webapp2 が使われるにように。main() の記述もやめてスッキリ。

古い app.yaml (Python2.5) – Hello, World! – Google App Engine — Google Developers

application: helloworld
version: 1
runtime: python
api_version: 1

handlers:
- url: /.*
  script: helloworld.py

新しい app.yaml (Python2.7)

application: helloworld
version: 1
runtime: python27
api_version: 1
threadsafe: true
handlers:
- url: /.*
  script: helloworld.app

違いは3点。runtimeでPython2.7を使うことを宣言する。threadsafeなWebアプリにすれば、複数のリクエストを並列実行して効率的にさばける。
main()を呼び出さないようにしたので、helloworld.pyで定義したhelloworldモジュールのappオブジェクトへ処理させることをここで明示するようになった。

Githubの使い方 Windows編

備忘録です。

新しいリポジトリーを作る。

  1. Githubでリポジトリーを作る。

    Create A Repo に従って Create a New Repository からリポジトリーを作る。このとき、READMEは作らない方がわかりやすい。

  2. PCでGit Bashを起動。

    $mkdir リポジトリー名
    $cd リポジトリー名
    $git init
    $touch README
    $git add README
    $git commit -m 'first commit'
    $git remote add origin git@github.com:アカウント名/リポジトリー名.git
    $git push -u origin master

    origin はエイリアス名のこと。後で楽するためにremoteコマンドでリポジトリー名に名前をつけている。

    master はデフォルトのブランチ名。svnでいうところのtrunk。

新しいファイルを追加する。

  1. PCでGit Bashを起動。

    $cd リポジトリー名
    $git add .
    $git status
    $git commit
    $git push -u origin master

リポジトリー名を変更する。

  1. Github でリポジトリー名を変更。
    リポジトリーの Admin ページで Repository Name を rename
  2. PC で Git Bashを起動。
    $vi .gir/config
     [remote "origin"] url = git@github.com:アカウント名/新しいリポジトリー名.git 

     

参考

  1. Git超入門:”git push origin master”の”push”と”origin”と”master”の意味がわからないあなたへ
  2. githubのリポジトリ名を変更する – モンテカットの開発日記