2015-07-24 3 views
3

Приведенный ниже фрагмент кода, чтобы редактировать ячейки электронной таблицы на моей учетной записи Google. Это работает, когда я запускаю код из моей IDE python (не для движка Google).Использование SignedJwtAssertionCredentials на Python Google App Engine

import webapp2 
import gspread 
from oauth2client.client import SignedJwtAssertionCredentials 
import json 
from httplib2 import Http 
from gspread.exceptions import CellNotFound 
import os 

# folder = os.path.dirname(os.path.realpath(__file__)) 
# file_path = os.path.join(folder, 'clientkey.json') 
json_key = json.load(open('clientkey.json')) 
scope = ['https://spreadsheets.google.com/feeds'] 
credentials = SignedJwtAssertionCredentials(json_key['client_email'], json_key['private_key'], scope) 
googleClient = gspread.authorize(credentials) 

На копируя же код на Google App Engine проекта, который я развернуть, он показывает ошибку ниже.

Traceback (most recent call last): 

    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\runtime\wsgi.py", line 240, in Handle 

    handler = _config_handle.add_wsgi_middleware(self._LoadHandler()) 

    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\runtime\wsgi.py", line 299, in _LoadHandler 

    handler, path, err = LoadObject(self._handler) 

    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\runtime\wsgi.py", line 85, in LoadObject 

    obj = __import__(path[0]) 

    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\DominicProject\main.py", line 3, in <module> 

    from oauth2client.client import SignedJwtAssertionCredentials 

    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\DominicProject\oauth2client\client.py", line 34, in <module> 

    import six 

ImportError: No module named six 

Я добавил модуль, требуемый, он выдает ошибку, говоря, что требуется еще один модуль. Следите за добавлением необходимых модулей, и он продолжает бросать ошибку, чтобы добавить другой модуль. Добавили более 8 модулей, чтобы заставить его работать, и он все еще говорит, что некоторые модули не будут найдены, даже если они хорошо работают вне приложения. Как это исправить.

+0

Код может работать, потому что некоторые модули существуют на вашем компьютере, но не на экземпляре, который обрабатывает ваше приложение. Я бы предложил завершить добавление всех модулей, а затем посмотреть, что происходит после того, как все обработано. Если у вас все еще есть ошибка, тогда это подходящее место, чтобы задать свой вопрос – Patrice

ответ

0

Я вижу, что это и старый вопрос, но без ответа и все еще получаю взгляды. Это произойдет, если вы только установить клиентскую библиотеку для ваших системы сайта-пакетов, как это:

pip install --upgrade google-api-python-client 

Продавец библиотеки вместе со всеми необходимыми зависимостями в каталог приложения на одном дыхании, так что они будут загружены вместе с вашей заявкой используйте флаг «-t»:

pip install google-api-python-client -t /myappdir 
Смежные вопросы