2024
11
22
2011
06
02
appcfg.py update urllib2.URLError
Google App Engine Python で appcfg.py でアップロードを行おうとしたら、次のようなエラー。
urllib2.URLError: <urlopen error [Errno -5] No address associated with hostname>
原因は、app.yaml の最後に「#」でコメントを入れたことによるものらしい。 このコメント行を削除したら、正常に動きました。
忘れた頃にまた、やりそうなのでメモ。
2011/06/02 (Thu.) Trackback() Comment(0) Google App Engine
2010
06
30
ホストネームでエラー、オプションを追加してみた。
NetWalkerで、Google App Engine の開発用サーバー dev_appserver.py を動かしていましたが、先日突然、サーバーが起動しなくなってしまいました。コンソールにコマンドを打って再起動を試みたのですが、
「 socket.gaierror: [Errno -5] No address associated with hostname 」との表示。
「ホストネームにアドレスがないので、ソケットエラー」ということでしょうか。
Pythjon 開発用サーバー のページを調べてみると、コマンドラインの引数に「--address=」があるのを発見。
コンソールに次のように打ち込んでみました。
/media/disk/google_appengine/dev_appserver.py --address=0.0.0.0 /media/disk/hellocup/
すると今度はエラーメッセージは出てこない。FireFox のアドレスバーに次のアドレスを入れてみました。
http://0.0.0.0:8080/
ちゃんと、ページが表示されました!
2010/06/30 (Wed.) Trackback() Comment(0) Google App Engine
2010
06
26
YAMLについてはこれだけ知っていればいいだろう。
Google App Engine(GAE) では、作成するアプリケーションの情報を"app.yaml"というファイルに記述する。そして、そのデータの記述方法が"YAML"だ。
"ML"の文字があるので、マークアップ言語(Markup Language)かと思うが、"YAML"は、"YAML Ain't a Markup Language"の略で、「マークアップ言語ではない」とのことだ。だが、わざわざそのようなことを言うのだから、マークアップ言語に近い用法があると考えることもできる。
"YAML"の解説にざっと目を通した第一印象は、「ブロックスタイルのあるJSON」というものだ。
というのは、記述の書式にフロースタイルとブロックスタイルの2つがあって、フロースタイルは、JSONとほとんど同じだからだ。
フロースタイルで配列("YAML"ではシーケンス-Sequence)は
[aaa, bbb, ccc]
フロースタイルでハッシュ(連想配列、"YAML"ではマッピング-Mapping)は
{A: aaa, B: bbb, C: ccc}
のように表す。
ブロックスタイルの配列("YAML"ではシーケンス-Sequence)は
- aaa
- bbb
- ccc
ブロックスタイルでハッシュ(連想配列、"YAML"ではマッピング-Mapping)は
A: aaa
B: bbb
C: ccc
のように表す。
そして、シーケンスとマッピングとは、それがフロースタイルであれ、ブロックスタイルであれ、互いに内包することができる。
その他に知っていればよいことは次のような点だろう。
- ブロックスタイルの場合、スペースのインデントにより階層構造を表現する。
- "#"以降行末までがコメントとして扱われる、
- "---"は、ドキュメントの句切り。# 1つのファイルに複数のドキュメントを記述可能。
- 1つの値を格納するデータ型(スカラー)として、次のものがある。
- 整数
- 浮動小数点
- 真偽値 (true, yes, false, no)
- Null値 (null, ~)
- 日付 (yyyy-mm-dd)
- タイムスタンプ (yyyy-mm-dd hh:mm:ss [+-]hh:mm)
- 文字列 # 上記以外の書式は文字列とみなされる。
2010/06/26 (Sat.) Trackback() Comment(0) Google App Engine
2010
06
19
Google App Engine の SDK を使う。
Google App Engine (GAE) を使ってみたいので、SDKをダウンロードした。説明のページでは、Python のバージョンは 2.5 とのことだが、NetWalker にインストール済みの 2.6 でも大丈夫のようだ。
Linux用のZIPファイルを展開して、SDカードのトップに"google_appenzine"というディレクトリを置いた。この中に"dev_appserver.py"というファイルがある。このファイルが開発ツールの本体だ。
サンプルとして、Google App Engine のチュートリアルにあるとおり、helloworld ディレクトリを作成して、helloworld.py と app.yaml を入れる。
ターミナルで
/media/disk/google_appengine/dev_appserver.py /media/disk/helloworld/
と打ち込む。
FireFoxのアドレスバーに
http://localhost:8080
と入れてみると
Hello, world!
成功だ。
2010/06/19 (Sat.) Trackback() Comment(0) Google App Engine