2012-05-07 9 views
-1

httplib2(私の投稿here参照)の簡単なインポートでいくつかの問題が発生した後、gflagsのインポートに関する別の問題が発生します。google-app-engine:読み込み後にのみインポートが行われる

実際には、devサーバー上で、私は初めてアプリケーションを寝かせるときにImportErrorを持っています。しかし、私はブラウザをリフレッシュすると、アプリが動作します!私は、ログに見た場合、私は見ることができます:だから

... 
ImportError: No module named gflags 
[App Instance] [0] [dev_appserver.py:2891] INFO "GET/HTTP/1.1" 500 - 
[App Instance] [0] [py_zipimport.py:148] INFO zipimporter('/usr/lib/python2.5/site-packages/setuptools-0.6c11-py2.5.egg', '') 
[App Instance] [0] [py_zipimport.py:148] INFO zipimporter('/usr/lib/python2.5/site-packages/python_gflags-2.0-py2.5.egg', '') 

を、アプリケーションはdevのサーバー上でリフレッシュした後に動作しますが、それはappspotのアップロード後に全く動作しません:

<type 'exceptions.ImportError'>: No module named gflags 
Traceback (most recent call last): 
    File "/base/data/home/apps/s~yoyocontacts/2.358733066847060730/main.py", line 33, in <module> 
from apiclient.discovery import build 
    File "/base/data/home/apps/s~yoyocontacts/2.358733066847060730/apiclient/discovery.py", line 48, in <module> 
from apiclient.http import HttpRequest 
    File "/base/data/home/apps/s~yoyocontacts/2.358733066847060730/apiclient/http.py", line 47, in <module> 
from model import JsonModel 
    File "/base/data/home/apps/s~yoyocontacts/2.358733066847060730/apiclient/model.py", line 27, in <module> 
import gflags 

マイアプリケーションは、このHelloWorldです:

lrwxrwxrwx 1 yoyo 77 2012-05-06 16:24 apiclient -> /home/yoyo/dev/outils/google_appengine/lib/google-api-python-client/apiclient/ 
-rw-r--r-- 1 yoyo 169 2012-05-06 16:19 app.yaml 
-rw-r--r-- 1 yoyo 358 2012-05-06 15:20 client_secrets.json 
lrwxrwxrwx 1 yoyo 60 2012-05-07 12:12 gflags -> /home/yoyo/dev/outils/google_appengine/lib/python-gflags/ 
-rw-r--r-- 1 yoyo 554 2012-03-02 20:00 grant.html 
lrwxrwxrwx 1 yoyo 60 2012-05-06 16:20 httplib2 -> /home/yoyo/dev/outils/google_appengine/lib/httplib2/httplib2/ 
-rw-r--r-- 1 yoyo 471 2012-03-02 20:00 index.yaml 
-rw-r--r-- 1 yoyo 3,4K 2012-05-07 11:45 main.py 
lrwxrwxrwx 1 yoyo 56 2012-05-06 16:24 oauth2 -> /home/yoyo/dev/outils/google_appengine/lib/oauth2/oauth2/ 
lrwxrwxrwx 1 yoyo 80 2012-05-07 10:59 oauth2client -> /home/yoyo/dev/outils/google_appengine/lib/google-api-python-client/oauth2client/ 
-rwxr-xr-x 1 yoyo 163 2012-05-07 11:14 run* 
-rwxr-xr-x 1 yoyo 115 2012-05-07 11:50 upload* 
lrwxrwxrwx 1 yoyo 79 2012-05-06 16:24 uritemplate -> /home/yoyo/dev/outils/google_appengine/lib/google-api-python-client/uritemplate/ 
-rw-r--r-- 1 yoyo 102 2012-03-02 20:00 welcome.html 

私の質問:

  • 更新後にzipimporterが動作するのはなぜですか?
  • このエラーをappspotでどのように修正しますか?
+1

/google_appengine/lib/python-gflags /には__init__.pyはありません。 try:import gflags.gflags – greg

答えて

2

Thans @

Iは、私はfrom gflags import gflags代わりにちょうどimport gflagsapiclient/model.py修飾import gflags__init__.pyを添加しました。

+0

cloudsqlデータベースのバックエンドを使用しようとすると、このエラーも発生します。問題は、oauthトークンを作成していないということでした。 – Naddiseo

+0

ありがとうございます。 コマンドラインで単純なpythonスクリプトを起動するので、__init__.pyを作成する必要はありませんでした "import gflags"から "gflags import gflags"に変更するだけです シンプルですが、 – Etienne

関連する問題