2012-05-07 3 views
-1

httplib2 (내 게시물 here 참조)의 간단한 가져 오기와 함께 몇 가지 문제가 발생하면 gflags 가져 오기와 관련된 다른 문제가 발생합니다.google-app-engine : 가져 오기가 새로 고침 후에 만 ​​작동합니다.

사실, dev에 서버에, 내가 처음으로 ImportError 애플 리케이션을 lanch있다. 그러나 브라우저를 새로 고침하면 앱이 작동합니다. 내가 로그에보고하면, 내가 볼 수

... 
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가 없습니다. 시도해보십시오 : import gflags.gflags – greg

답변

2

Thans @greg.

은 내가 from gflags import gflags 대신 단지 import gflagsapiclient/model.py을 수정 한 후 import gflags으로 __init__.py을 추가했습니다.

+0

또한 Cloudql 데이터베이스 백엔드를 사용할 때이 오류가 발생합니다. 문제는 내가 oauth 토큰을 만들지 않았다는 것입니다. – Naddiseo

+0

답변 해 주셔서 감사합니다. 명령 줄에서 간단한 파이썬 스크립트를 실행하기 때문에 __init__.py를 만들 필요가 없었습니다. 그래서 "import gflags"를 "gflags import gflags"로 수정하십시오. 간단하지만 작동합니다. 조언 해 주셔서 감사합니다 – Etienne

관련 문제