back to home
ホームCONITについて業務内容CONIT LABS.採用情報お問い合わせ
  ホーム > CONIT Labs.
■CALENDAR■
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30   
<<前月 2010年09月 次月>>
■NEW ENTRIES■
■CATEGORIES■
■ARCHIVES■
■LINK■
■PROFILE■
■OTHER■
  • RSS 2.0
  • 処理時間 0.19822秒
  • なかのひと

 

弊社ブログは2010年4月26日からURLを変更いたしました。
ブックマークやRSSで登録されている方は、下記URLへ変更願います。
http://www.conit.co.jp/blog/
今後とも宜しくお願い申し上げます。
2010年4月26日 株式会社コニット
 

Google App Engine Pythonでのエラー
はじめまして、折川です。

4月からCONITでインターンをさせてもらってます。
主にGAE、Python、Flashを勉強しています。早く技術を身につけて開発に協力が出来ればと思っています。

Pythonを触ったことがなかったので、他の言語との仕様が異なるところで戸惑っています。
そこで、本当に初歩的ですが、なかなか気づかなかったエラーについて説明することにします。

それがこれです。現在Linuxで開発を行っていますが、端末での作業中に以下のエラーが出ました。


dev_appserver_main.py:363] Fatal error when loading application configuration:
Invalid object:
Unknown url handler type.
<URLMap
secure=default
static_files=None
auth_fail_action=redirect
require_matching_file=None
static_dir=None
script=None
url=/.*
upload=None
expiration=None
login=optional
mime_type=None
>




そして、エラーがあると指摘されたプログラムが以下です。

application: myapp
version: 1
runtime: python
api_version: 1

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

なにが間違ってるか気づかれた方はおそらくPythonを触ったことのある方に違いありません。




今回のポイントであるPython言語の条件文について軽く整理します。
通常Pythonでは条件文を

for a in range(10):
 print a
 if a>5:
  break

のように書きます。{ }でくくる他の言語と違い、[ : ]で条件文を書きます。

したがって、スペースの位置がずれるとエラーになってしまうのです。
上の例だと

for a in range(10):
 print a
if a>5
 break

このようにするとエラーが発生します。



これを元に再度先ほどのエラーを検証しますと、

application: myapp
version: 1
runtime: python
api_version: 1

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

そうです。一番下の行のスペースが一つ足りなかったのです。
これを直したら正常に起動できました。



これからさらにたくさんのエラーと戦うことになりそうですが、精一杯頑張りたいと思います。


| http://www.conit.co.jp/labs/index.php?e=331 |
| ご挨拶 | 03:25 PM | comments (0) | trackback (0) |