【Google App Engine】【Python】 外部モジュールの読み込み方
ローカルでは正しくモジュールをimport できても、GAE Lanceherではエラーとなる
■ローカルでは正常
C:\PythonLib\python-twitter-1.0>python
Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (I
Type "help", "copyright", "credits" or "license" for more informati
>>> import twitter
>>> api = twitter.Api('hoge','hoge'...)
>>> statuses = api.GetUserTimeline('hoge')
■GAE Lanceher ではimport エラー
INFO 2013-07-21 17:33:08,520 module.py:595] default: "GET / HTTP/1.1" 500 -
ERROR 2013-07-21 08:33:08,569 cgi.py:121] Traceback (most recent call last):
File "C:\Users\hoge\Desktop\iroironashi\main.py", line 3, in
import twitter
ImportError: No module named twitter
なんでだろーと嵌っていたけれど、他サイト(※1)を読んで納得。
twitterモジュール・その他はGAE上に自分でデプロイしないといけないということか。
■プロジェクトにlibフォルダを用意し、その中にモジュールをコピー
__init__.py も空ファイルとして作成する
■モジュール名変更
フォルダ名がpython_twitter-1.0のままではエラーが出たため、
python_twitter-1.0 ⇒ twitter に変更
■import文を修正
■twitterモジュールがインポートできた
だけれど、oauth モジュールでエラー。でも糸口が見えてきたかも!
import oauth2 as oauth
ImportError: No module named oauth2
■これで解決
import oauth2 as oauth
↓
import lib.oauth2 as oauth
※1:外部モジュールが読み込めない件(その4)少し理解してきたかも
http://d.hatena.ne.jp/noazoh/?of=3