Amazon

2011年1月4日火曜日

Google App EngineでDjango1.2を動かす2

[稼動環境] Aptana Studio 2.0.5  + Python 2.7.1+ Pydev 1.6.4+ Django 1.2.4 + Google App Engine Helper for Django 1.0.9

前回(google App EngineでDjango1.2を動かす1)の続き

エラーの中身を見るあたり"ImportError: No module named antlr3"とのことで、
要はantlr3のモジュールが見つからないということ。
antlr3モジュールはgoogle_appengine\libの下にあるが、どうもこのフォルダへのパスが通ってなかったのが原因ぽい。


ということで、プロジェクトを右クリックしてProperties -> PyDev - PYTHONPATH -> External Libraryに
${GOOGLE_APP_ENGINE}/lib/antlr3
${GOOGLE_APP_ENGINE}/lib/ipaddr
${GOOGLE_APP_ENGINE}/lib/fancy_urllib
を追加。
自分の環境では、${GOOGLE_APP_ENGINE}はC:\Program Files\Google\google_appengineを指す


さて改めて実行したが、またエラー。今度は
"ImportError: No module named admin.options"
これはdjango.zipファイルのdjango\contrib\admin\options.pyを指している様子。

GAEのドキュメント"Zipimport を使って App Engine で Django 1.0 を使用する"ではadminフォルダを消してもいいって書いてあるのに。。。
仕方ないのでDjangoフルパッケージを再度django.zipにしてプロジェクトのdjango.zipと置き換える。

気を取り直して再実行。けどまたエラー。
"google.appengine.tools.dev_appserver.AppConfigNotFoundError"です。
このエラーはapp.yamlファイルが見つからないのが原因のようです。
appengine_helper_for_django-r109.zipファイルをimportした際にsrcフォルダ下にちゃんとapp.yamlファイルがあるのに正しく認識されないのはどうしてだ?と思っていたら、
今度はEclipse側の設定の問題だったようです。

Run -> Run Configurationで、先ほど作成したPydev Google App Engineの起動設定のArgumentsのWorking directoryをDefaultの${project_loc}からOtherにチェックを入れて${project_loc}/srcに設定を変更。



これで再度実行。すると、consoleに色々とメッセージが出る。

"INFO:root:zipimporter('C:\\Documents and Settings\\Administrator\\My Documents\\Aptana Studio Workspace\\DjangoOnGAE\\src\\django.zip', 'django\\contrib\\')"
Djangoライブラリが読み込まれている


"WARNING:root:Could not read datastore data from c:\temp\django_djangoongae.datastore"
django_djangoongae.datastoreが見つからないと言われるが、そもそもファイルがないからそのまま放置

"WARNING:root:Could not initialize images API; you are likely missing the Python "PIL" module. ImportError: No module named _imaging"
これもnamed_imagingモジュールがないと言われているが解決策はGAEのサイトにある。とりあえず今は画像を使わないのでこれも放置


とはいえ
"INFO:root:Running application djangoongae on port 8001: http://localhost:8001"が表示されたので起動しているっぽいのでアクセス。

するとまだエラーが出る。

ChromeでアクセスするとResolver404エラー

 EclipseのConsoleにも"django\core\handlers\wsgi.py:222:  RuntimeWarning: Parent module 'django.core.handlers' not found while handling absolute import"などが表示されて、"INFO:root:"GET / HTTP/1.1" 500 -"が出ている。

むー。なかなか先は長いですね。


0 件のコメント:

コメントを投稿

Amazon3