Getting Started with the Google Data Python Library
http://code.google.com/support/bin/answer.py?answer=75582
これはきちんと理解しておかないと、いろいろなエラーに時間をとられる。
C:\work\gdata.py-1.0.12.1>c:\python25\python ./setup.py install
-- gdata_test.py を変更
# from xml.etree import ElementTree
from xml.etree import ElementTree, SimpleXMLTreeBuilder
ElementTree.XMLTreeBuilder = SimpleXMLTreeBuilder.TreeBuilder
except ImportError:
# from elementtree import ElementTree
from xml.etree import ElementTre
C:\work\gdata.py-1.0.12.1>c:\python25\python ./tests/run_data_tests.py
Running all tests in module gdata_test...............
----------------------------------------------------------------------
Ran 15 tests in 0.031s
OK
サンプルプログラム muvmuv を下記からダウロードして実行してみたのだが
http://code.google.com/support/bin/answer.py?answer=75582
起動
C:\google>dev_appserver.py muvmuv/
これはOK
実行
http://localhost:8080/build
しかし、これが NG
原因検索
http://groups.google.com/group/google-appengine/browse_thread/thread/b7399a91c9525c97
対策
http://effbot.org/downloads/ から
elementtree-1.2.7-20070827-preview.win32.exe [52k]
を入れ、これを直接 project フォルダ以下に置いたが
C:\google\muvmuv\elementtree
結論としては windows SDK の不具合で fix 待ち
http://code.google.com/p/googleappengine/issues/detail?id=222 this is a current issue with the Windows SDK.
--- その他 作業memo ---
Python版インストール(Windows) を参考に
PYTHONPATH=C:\Python25\Lib\site-packages を一応、設定
C:\google\muvmuv\ElementTree.py in ()
cannot import name SimpleXMLTreeBuilder
エラー例
Then I got "No module named expat: use SimpleXMLTreeBuilder instead".
'SimpleXMLTreeBuilder' is not defined
File "C:\google\muvmuv\main.py", line 235, in getMoviesFromRss
tree = ElementTree(fromstring(rss.content))
NameError: global name 'fromstring' is not define
Traceback (most recent call last):
File "C:\Program Files\Google\google_appengine\google\appengine\ext\webapp\__init__.py", line 484, in __call__
handler.get(*groups)
File "C:\google\muvmuv\main.py", line 215, in get
movies = self.getMoviesFromRss(rss1, build_only)
File "C:\google\muvmuv\main.py", line 235, in getMoviesFromRss
tree = ElementTree(fromstring(rss.content))
File "C:\google\muvmuv\elementtree\ElementTree.py", line 1013, in XML
return api.fromstring(text)
File "C:\google\muvmuv\elementtree\ElementTree.py", line 181, in fromstring
parser = XMLTreeBuilder()
File "C:\google\muvmuv\elementtree\ElementTree.py", line 1171, in __init__
self._parser = parser = expat.ParserCreate(None, "}")
NameError: global name 'expat' is not defined
---
Please see
http://code.google.com/p/googleappengine/issues/detail?id=222 this is a current issue with the Windows SDK.
expat.py は pyexpat.py を import
コマンドラインからはエラーは発生しない DLLs/pyexpat.pyd などがある。
C:\google>c:\python25\pythonPython 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)] onwin32Type "help", "copyright", "credits" or "license" for more information.
>>> from pyexpat import *
SDK102 にしたら build できた。
最初起動時に simplejsonエラーが発生したが
以前どうやら django 以下に試行錯誤で置いた
ファイルをプロジェクトフォルダに copy して対応。
exec module_code in script_module.__dict__ File "C:\google\muvmuv\main.py", line 8, in import simplejson ImportError: No module named simplejson
画像をクリックすると
以下のエラーが発生しているが、これは
対応できそうである。
File "C:\google\muvmuv\main.py", line 43, in get
template_values = {'login': loign, 'logout': logout, 'user': user}
NameError: global name 'loign' is not defined