我对Python和Google App Engine都是陌生的,正在慢慢地尝试解决以下编译错误。


  文件“ /opt/google/google_appengine/google/appengine/tools/appengine_rpc.py”,
  第26行,在
      在第38行中,导入cookielib文件“ /usr/lib/python2.7/cookielib.py”
      从日历导入时间
      ImportError:无法导入名称timegm


我正在Eclipse中使用PyDev插件进行本地部署。据我所知,没有错误的原因。我尝试将timegm.py文件夹添加到PYTHONPATH配置中,甚至通过在代码中使用自动完成功能导入from calendar import timegm来证明了这一点!

我见过其他有问题但没有解决方案的人。有人知道怎么修这个东西吗?

代码如下:

import httplib2
import webapp2
from apiclient.discovery import build
from google.appengine.api import oauth
from oauth2client.client import OAuth2WebServerFlow
from urlparse import urlparse, parse_qs

class MainPage(webapp2.RequestHandler):
    def get(self):
        flow = OAuth2WebServerFlow(__CLIENT_ID, __CLIENT_SECRET, _SCOPE, _REDIRECT_URI)
    authUri = flow.step1_get_authorize_url()
    queryString = parse_qs(urlparse(authUri).query)

    if 'error' not in queryString:
        # Create an httplib2.Http object to handle our HTTP requests and authorize it
        credentials = flow.step2_exchange(queryString['code'])
        http = httplib2.Http()
        http = credentials.authorize(http)
        service = build("calendar", "v3", http=http)
        events = service.events().list(calendarId=__VISITORS_CALENDAR).execute(http=http)

        if events['items']:
            # show what we've got
            for event in events['items']:
                self.response.write(event['summary'])
        else:
            self.response.write('No events found in the calendar')

    else:
        self.response.write('Denied...')


app = webapp2.WSGIApplication([('/', MainPage)], debug = True)

最佳答案

无需安装任何内容,calendar.timegm是标准库中的函数。

可能发生的情况是您有一个名为calendar.py的本地文件,该文件隐藏了stdlib版本。您的日历文件没有此功能,因此会出现错误。将文件重命名为其他名称。

08-06 20:18