【发布时间】:2015-07-24 14:43:27
【问题描述】:
使用下面的代码 sn-p 在我的 Google Drive 帐户上编辑电子表格的单元格。当我从我的 python IDE(不在谷歌应用引擎上)运行代码时,这有效。
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)
在将相同的代码复制到我要部署的谷歌应用引擎项目时,它显示以下错误。
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 个模块只是为了使它工作,它仍然说即使在 appengine 之外运行良好,也找不到一些模块。我该如何解决这个问题。
【问题讨论】:
-
代码可以工作,因为某些模块存在于您的机器上,但不存在于处理您的应用程序的实例上。我建议完成所有模块的添加,然后在处理完所有模块后查看发生了什么。如果您仍然有错误,那么这是提出问题的正确地方