Pythonの最近のブログ記事

前回までの記事で、GAE用Pythonのアプリケーションをローカルで動作させるところまでを記述しました。
最終回として今回は、Google App Engineに実際にデプロイし、GAE上で動作するところまで行ってみたのでご紹介したいと思います。

 

Google App Engineアプリケーションの登録

1.Google App Engine のアプリケーション登録のために、下記URLにアクセスします

http://appengine.google.com/

Python_GAE_Upload1.jpg

この際、Googleアカウントが必要になります。
Googleアカウントを持っていない場合は、アカウントを作成するため、画面上の「アカウントを作成」をクリックします。
Googleアカウント作成については、下記に詳細が記されています。
http://www.google.com/support/accounts/bin/topic.py?hl=jp&topic=14123

アカウントをお持ちの場合は、ログイン情報を入力してログインします。

2.「Create an Application」ボタンをクリックします

Python_GAE_Upload2.jpg

SMS認証の画面が表示されます。

3.必要項目を入力して「Send」ボタンをクリックします

Python_GAE_Upload3A.jpg

Country and Carrier: 国と通信事業者を選択します
Mobile Number: 電話番号、またはメールアドレス(@以降は入力してはいけません)を入力します

Country and Carrier は、「Japan」を選択すると下記のように日本の携帯事業者が選択できるようになります。

Python_GAE_Upload3B.jpg

「Send」ボタンクリック後、Googleから下記内容のメールが携帯に送信されてきます。

Google App Engine Code: xxxxxxx

※xxxxxxxの部分に数字7桁のコードがあります。


GAE登録時 Mobile Number 入力時に起きた問題

Movile Number には電話番号ではなく、メールアドレス(ドメインなし)を入力したほうが良い(らしい)

Mobile Number には電話番号を入力するかと思いきや、電話番号を入力したときに下記のように怒られました。

Python_GAE_Upload4.jpg

私の携帯はDocomoなのですが、Googleの下記のページにも書いてあるように DocomoとKDDIには問題があるらしいです。

アプリケーション作成のための SMS 検証

http://code.google.com/intl/ja/appengine/kb/sms.html

ソフトバンクであれば、電話番号の先頭に"+81"を付ければ良いみたいですが、ソフトバンク携帯を持っていないためこちらは未検証です。

4.「Enter Account Code」に 3の手順後Googleから送られてきたコードを入力して、「Send」ボタンをクリックします

Python_GAE_Upload5.jpg

5.アプリケーション作成に必要な情報を入力します

Python_GAE_Upload6.jpg

Application Identifier アプリケーションIDを入力します
※アプリケーションIDは全世界でユニークでなければなりません
 使用可能であるかは「Check Availability」ボタンを押すことで確認できます
Application Title: アプリケーションタイトルを入力します
アプリケーションタイトルは任意で大丈夫です

 

6.「I accept theese terms.」チェックボックスにチェックし、[Create Application]ボタンをクリックします

Python_GAE_Upload8.jpg

アプリケーション作成が成功した場合、下記の画面が表示されます。

Python_GAE_Upload9.jpg

 

アプリケーションのアップロード

実際に作成したアプリケーションをアップロードします。
ここでアップロードするファイルは、前回の記事で作成した「Hello world」アプリケーションです。

1.app.yaml ファイルを編集します

application設定値を上記「Google App Engineアプリケーションの登録」の「5.アプリケーション作成に必要な情報を入力します」で設定したApplication Identifierの値にします。

application: gae-python
version: 1
runtime: python
api_version: 1

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

2.下記コマンドを入力して、アップロードを行います

> appcfg.py update helloworld/

helloworld/ の部分は、実際に開発を行っている appl.yaml(1の手順で編集したファイル)、helloworld.py が存在するフォルダー名を指定します。
 私の環境はWindowsで、eclipseのworkspace をCドライブ直下に作成していますので「C:\workspace\HelloWorld\src」でした。
 この場合のコマンドは appcfg.py update C:\workspace\HelloWorld\src となりました。

コマンド実行後、コマンド プロンプト には下記のようなメッセージが出力されます。

Application: gae-python; version: 1.
Server: appengine.google.com.
****************************************************************
There is a new release of the SDK available.
-----------
Latest SDK:
api_versions: ['1']
release: 1.3.7
timestamp: 1282688496

-----------
Your SDK:
api_versions: ['1']
release: 1.3.6
timestamp: 1278528410

-----------
Please visit http://code.google.com/appengine for the latest SDK
****************************************************************
Scanning files on local disk.
Initiating update.
Email: <Googleアカウントのメールアドレスを入力します>
Password for xxx@brainchild.co.jp:<Googleアカウントのパスワードを入力します>
Cloning 1 application file.
Deploying new version.
Checking if new version is ready to serve.
Will check again in 1 seconds.
Checking if new version is ready to serve.
Will check again in 2 seconds.
Checking if new version is ready to serve.
Will check again in 4 seconds.
Checking if new version is ready to serve.
Will check again in 8 seconds.
Checking if new version is ready to serve.
Will check again in 16 seconds.
Checking if new version is ready to serve.
Closing update: new version is ready to start serving.

途中で、GoogleアカウントのユーザーID(メールアドレス)、パスワード入力を求められる(<Googleアカウントのメールアドレスを入力します>、<Googleアカウントのパスワードを入力します>となっている部分)ので入力します。
アップロードが正常に終了すると、GAEにアプリケーションが登録されます。
実際に今回の手順で、私が作成したGAEのHelloWorldアプリケーションは下記になります。
http://gae-python.appspot.com/

前回の記事で、GAEを開発するための準備を整えました。
さっそくGAEで"Hello World."を出力するアプリケーションを開発してみることにします。
GAEで "Hello World."の記事ですが、大きくなるので3回に分けています。
第2回目は、『Google App Engine SDK for Python』のプロジェクト作成⇒ローカルでのテストまでの作業です。

 

eclipseでGAE for Python用プロジェクトを作成

1.パッケージエクスプローラー上で、マウスを右クリックし「新規 > プロジェクト」を選択します。
メニュー「ファイル > 新規 > プロジェクト」でも同じです。

Python_GAE_01.jpg


2.「Pydev Google App Engine Project」を選択し、[次へ]ボタンをクリックします。

Python_GAE_02.jpg


3.プロジェクト名、文法バージョン、インタープリターを選択し、[次へ]ボタンをクリックします。

Python_GAE_03.jpg

プロジェクトタイプ Python
文法バージョン 2.6
インタープリター

Python2X

文法バージョン、インタープリターについては、過去の記事「eclipseでPython開発を行ってみる」を参照してください。
 現在Python3については未検証です。

4.[参照]ボタンをクリックします。

Python_GAE_04.jpg


5.前回の記事でインストールした、「Google App Engine SDK for Python」をインストールしたフォルダーを指定します。

Python_GAE_05.jpg


6.[次へ]ボタンをクリックします。

Python_GAE_06.jpg


7.プロジェクト名、テンプレートを指定して[完了]ボタンをクリックします。

プロジェクト名は「helloworld」です。(理由は「設定ファイルの編集」で後述しています)
テンプレート名は目的次第ですが、今回は「Hello World」を選択します。

Python_GAE_07.jpg


下記のようにGAE for Python用のプロジェクトが作成されます。

Python_GAE_08.jpg

 

リクエストハンドラの編集

「eclipseでGAE for Python用プロジェクトを作成」で作成された helloworld.py を編集し、リクエストに応答し「Hello world」と出力するCGIプログラムを作成します。
といっても、最低限のソースコードはテンプレートで自動的に作成してくれていますので、中身を確認するだけです。
helloworld.py は下記内容になっています。

print 'Content-Type: text/plain'
print ''
print 'Hello, world!'

 

設定ファイルの編集

「eclipseでGAE for Python用プロジェクトを作成」で作成された app.yaml を編集します。
このファイルも既にテンプレートが作成してくれていますので、中身だけ確認します。
app.yaml は下記内容になっています。

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

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

※application と script で指定する名前は同じにしないとうまく動作しないようです。

設定ファイルの詳細は下記URLを参照してください。
http://code.google.com/intl/ja/appengine/docs/python/config/appconfig.html

 

動作確認

まずはローカルで動作確認を行います。
コマンドプロンプトで下記のコマンドを入力します。

> dev_appserver.py helloworld/

※実行時は、Pythonインタープリター、Google App Engine SDK for Python のパスを確認してください。
helloworld/ の部分は、実際に開発を行っている helloworld.py が存在するフォルダー名を指定します。
 私の環境はWindowsで、eclipseのworkspace をCドライブ直下に作成していますので「C:\workspace\HelloWorld\src」でした。
 この場合のコマンドは dev_appserver.py C:\workspace\HelloWorld\src となりました。

テスト用Webサーバーが起動したら下記のURLで実際に「Hello World」が出力されることを確認します。
http://localhost:8080/

※使用するポートの変更などを行いたい場合、下記URLに詳細が記述してありますので参照してみてください。
http://code.google.com/intl/ja/appengine/docs/python/tools/devserver.html

 

次回の記事で実際に、GAE上で"Hello world."を出力するところまで行ってみています。そちらも参照してみてください。

GAEで "Hello World." その3

前回迄の記事で、eclipseでPythonの開発環境を整え、実際に簡単なプログラムを作ってみました。
現在の野望としては、せっかくPythonを使っているので、Webで簡単システムを作ってみたいな~と考えています。
ちょっと調べてみると、「Google App Engine」がPythonを開発言語に採用していますので、GAEにて自作のPythonプログラムを動かしてみたいと思っています。
この辺の手順は、Googleで調べると既にいろいろなブログで紹介されていますが、まずは自分で実践ということで私自身の体験としてここのブログでも紹介しようと思います。
まずは、定番「Hello World」出力までの手順です。

記事が大きくなるので、記事を3回に分けました。
第1回目は、『Google App Engine SDK for Python』のダウンロード⇒インストールまでの作業です。

尚この手順は、Google CODEにスタートガイドがあります。
http://code.google.com/intl/ja/appengine/docs/python/gettingstarted/

Google App Engine SDK for Pythonのインストール

【インストール環境】

  • OS:WindowsXP SP3

1.Google App Engine のホームページを開きます。

http://code.google.com/intl/ja/appengine/downloads.html

Python_GAE_SDK_01.jpg

2.「Google App Engine SDK for Python」をダウンロードします。

Python_GAE_SDK_02.jpg

3.ダウンロードした実行ファイルを実行します。

Python_GAE_SDK_03.jpg

4.『Google App Engine SDK for Python』のインストール画面が表示されるので、[Next]ボタンをクリックします。

Python_GAE_SDK_04.jpg

5.「I accept the terms in the License Agreement」をチェックし、[Next]ボタンをクリックします。

Python_GAE_SDK_05.jpg

6.インストールするフォルダー、インストール時のオプションのチェックを設定して、[Next]ボタンをクリックします。

Python_GAE_SDK_06.jpg

7.[Install]ボタンをクリックします。

Python_GAE_SDK_07_1.jpg

 インストールが開始されます。(しばらく待ちます)

Python_GAE_SDK_07_2.jpg

8.インストールが完了するので、[Finish]ボタンをクリックします。

Python_GAE_SDK_08.jpg


以上で、Google App Engine SDK for Python のインストールは完了です。

次回は実際に、ローカル上で"Hello world."を出力するところまで行っています。

GAEで "Hello World." その2

※記事の本数を2回⇒3回に修正しました。(2010/09/05)

1

このブログについて

このブログは吉祥寺にあるブレインチャイルド株式会社の社員で投稿しています。
業務ではまってしまったことや発見したこと。
自分達で新たに学習してみようと思って勉強し始めたことなどを綴っています。
こんな社員が働いているブレインチャイルドに興味がわいててきたなら、是非お問い合わせください。
会社案内
求人案内
先輩のコメント