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)

Python、eclipseへのPyDevプラグインのインストールが終わったので、実際にeclipseで簡単なPythonプログラムを作ってみようと思います。

【参考:過去のブログ記事】
Pythonのダウンロード:http://www.brainchild.co.jp/blog/develop/2010/08/python-download.html
Pythonのインストール:http://www.brainchild.co.jp/blog/develop/2010/08/python-install.html
eclipseにPython開発環境(PyDev)を構築する:http://www.brainchild.co.jp/blog/develop/2010/08/python-eclipse1.html

今回は、定番中の定番「Hello world.」をコンソールに出力するプログラムを開発してみたところまでを記述しました。

eclipseでPython開発を行うための設定

1.eclipseのバースペクティブを「PyDev」に切り替える。

p_eclipse_install_9.jpg

p_eclipse_pydev_1.jpg

2.メニュー「ウィンドウ > 設定」をクリックし、設定画面を表示します。

p_eclipse_pydev_2.jpg3.設定画面から、「PyDev > インタープリター - Python」を選択し、[新規(W)...]ボタンをクリックします。

p_eclipse_pydev_3.jpg

4.「インタープリター名」、「Pythonの実行ファイル」 を指定し、[OK]ボタンをクリックします。

p_eclipse_pydev_4.jpg

インタープリター名 (任意) ※1
Interpreter Executable (Pythonインタープリター名) ※2

※1 インタープリター名は、Pythonのバージョンにしておいたほうが無難だと思います。
※2 下記の記事で紹介したPythonの実行ファイル名
Pythonのインストール:http://www.brainchild.co.jp/blog/develop/2010/08/python-install.html

5.選択を確認して、[OK]ボタンをクリックします。

p_eclipse_pydev_5.jpg

6.設定画面に戻ります。Pythonインタープリターが追加されていることを確認し、[OK]ボタンをクリックします。

p_eclipse_pydev_6.jpg

ここまでで、eclipseでPython開発を行うための必要最低限の設定が終了です。
準備が出来たので、簡単なプログラムを作ってみます。

Hello Worldプログラムの開発

1.Pythonプロジェクトを作成します。メニュー「ファイル > 新規 > PyDevプロジェクト」を選択します。

p_eclipse_pydev_7.jpg

2.プロジェクト名、文法バージョン、インタープリター を指定して[完了(F)]ボタンをクリックします。

p_eclipse_pydev_8.jpg

設定項目 Pythonのバージョン
2 3
プロジェクト名 (任意)
文法バージョン 2.x 3.0
インタープリター (Pythonインタープリター名) ※

※Pythonの各バージョンにあったインタープリターを設定していることが前提です。
  (この記事内「eclipseでPython開発を行うための設定 3~6」を参照ください。

3.作成されたプロジェクトの「src」フォルダーを右クリックしてメニューを表示し、「新規 > PyDevモジュール」を選択します。

p_eclipse_pydev_9.jpg

4.「ソースフォルダ」、「パッケージ」、「名前」を入力して[完了(F)]ボタンをクリックします。

p_eclipse_pydev_10.jpg

5.4で作成した「HelloPython.py」に下記プログラムを記述します。

Python2、Python3で標準出力の記法が違いますのでご注意ください。

  • Python2のソース
print "Hello Python world."
  • Python3のソース
print("Hello Python world.")

6.「HelloPython.py」を選択した状態で、メニュー「実行 > 3Python 実行」を選択します。

p_eclipse_pydev_11.jpg※「HelloPython.py」を選択し、右クリックして表示されるメニューでも同じです。

コンソールに実行結果が出力されます。

p_eclipse_pydev_12.jpg
ここまでで、Pythonプログラムを開発をするための下地ができました。
今後は、更にレベルの高いPythonプログラムを開発したいと思っています。

当ブログの過去記事として、Pythonのインストール方法を紹介しています。

【参考:過去のブログ記事】
Pythonのダウンロード:http://www.brainchild.co.jp/blog/develop/2010/08/python-download.html
Pythonのインストール:http://www.brainchild.co.jp/blog/develop/2010/08/python-install.html

しかし、Pythonを動かすだけでしたら上記記事のソフトをインストールしておけば良いのですが、実際にプログラムを開発しようとなると、それだけでは快適な開発環境としてはいまいちです。

開発環境のIDEとして、eclipse上でPythonのプログラムが作成できればかなり快適になると考えています。
そこで、eclipseでPython開発を行うためのプラグイン「PyDev」プラグインを、実際にeclipseにインストールしたときの手順を下記にメモしておきます。

eclipse3.5(GALILEO-ガリレオ)、eclipse3.6(HELIOS-ヘリオス)へのPyDevプラグインのインストール

eclipse3.5(GALILEO-ガリレオ)、eclipse3.6(HELIOS-ヘリオス)へ、PyDevプラグインをインストールする手順は特に違いはありません。
今回は、eclipse3.5の画面で手順を説明していますが、eclipse3.6でも同じ方法でPyDevプラグインをインストールすることができます。

1.eclipseのメニューから「ヘルプ > 新規ソフトウェアのインストール...」をクリックします。

p_eclipse_helpmenu.jpg

2.インストール画面が表示されます。「作業対象」コンボボックス右横の、[追加]ボタンをクリックします。

p_eclipse_install_1.jpg

3.下記の情報を入力して、[OK]ボタンをクリックします。

 

名前 (任意) ※なんでも構いません。
ロケーション http://pydev.org.updates

 

p_eclipse_install_2.jpg

4.「Eclipse PyDev」を選択して、[次へ(N) >]ボタンをクリックします。

p_eclipse_install_3.jpg

5.[次へ(N) >]ボタンをクリックします。

p_eclipse_install_4.jpg

6.ライセンスのレビュー画面が表示されます。「使用条件の条項に同意します(A)」を選択し[完了(F) >]ボタンをクリックします。

p_eclipse_install_5.jpg

 インストールを実行しているので、しばらく待ちます。 p_eclipse_install_6.jpg

 証明書を信頼しますか?と聞かれたときは、選択して[OK]ボタンをクリックします。 p_eclipse_install_7.jpg

7.確認画面が表示されたら、eclipse を再起動してください。

p_eclipse_install_8.jpg

eclipseにPyDevプラグインがインストールされたことの確認

eclipseが再起動されたら、バースペクティブを開き、「PyDev」が選択できるようになっていることを確認してください。
バースペクティブにPyDevがあればればインストール完了です。
p_eclipse_install_9.jpg

p_eclipse_pydev_1.jpg

ここまでで、eclipse に PyDevプラグインをインストールすることはできました。
しかし、これだけではeclipse上でPythonのプログラム開発を行うことはできません。
こちら↓で、eclipseでのPyDevの設定、簡単なPythonプログラムを作成するまでの手順を記述しています。

eclipseでPython開発を行ってみる:http://www.brainchild.co.jp/blog/develop/2010/08/python-eclipse2.html

12