sendgrid谷歌应用程序引擎python DistributionNotFound

时间:2014-08-02 08:56:53

标签: python google-app-engine sendgrid

我正在将Sendgrid集成到Google App Engine Python项目中。

通过pip安装Sendgrid,并从shell命令行正常运行。

我已将sendgrid文件夹复制到我的gae项目文件夹中。

使用在shell中工作的相同示例代码(来自sendgrid-python github页面),我收到以下错误:

Traceback (most recent call last):
File "C:\Program Files\Google\google_appengine\lib\webapp2-2.5.2\webapp2.py", line 1535, in call
rv = self.handle_exception(request, response, e)
File "C:\Program Files\Google\google_appengine\lib\webapp2-2.5.2\webapp2.py", line 1529, in call
rv = self.router.dispatch(request, response)
File "C:\Program Files\Google\google_appengine\lib\webapp2-2.5.2\webapp2.py", line 1278, in default_dispatcher
return route.handler_adapter(request, response)
File "C:\Program Files\Google\google_appengine\lib\webapp2-2.5.2\webapp2.py", line 1102, in call
return handler.dispatch()
File "C:\Program Files\Google\google_appengine\lib\webapp2-2.5.2\webapp2.py", line 572, in dispatch
return self.handle_exception(e, self.app.debug)
File "C:\Program Files\Google\google_appengine\lib\webapp2-2.5.2\webapp2.py", line 570, in dispatch
return method(args, kwargs)
File "C:***route", line 260, in post
sg = sendgrid.SendGridClient('username', 'password')
File "C:\appname\sendgrid\sendgrid.py", line 36, in init
self.useragent = 'sendgrid/' + pkg_resources.get_distribution('sendgrid').version + ';python'
File "C:\Program Files\Google\google_appengine\lib\setuptools-0.6c11\pkg_resources.py", line 311, in get_distribution
if isinstance(dist,Requirement): dist = get_provider(dist)
File "C:\Program Files\Google\google_appengine\lib\setuptools-0.6c11\pkg_resources.py", line 197, in get_provider
return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
File "C:\Program Files\Google\google_appengine\lib\setuptools-0.6c11\pkg_resources.py", line 666, in require
needed = self.resolve(parse_requirements(requirements))
File "C:\Program Files\Google\google_appengine\lib\setuptools-0.6c11\pkg_resources.py", line 565, in resolve
raise DistributionNotFound(req) # XXX put more info here
DistributionNotFound: sendgrid

感谢您的帮助!

编辑:我尝试升级并重新安装pip和setuptools,同时安装分发和分发。没有任何效果。我在网上搜索了类似的错误,无论是来自distributionnotfound还是来自pkg_resource,没有任何内容。

编辑2:我没有使用'pip install sendgrid'进行安装,而是删除了sendgrid,并通过zip从github sendgrid-python下载,然后运行setup.py。最初的结果是相同的,sendgrid是从shell工作的,但不是来自GAE。但是,zip下载包含一个DIST文件夹,如果将其与sendgrid文件夹一起复制到GAE目录中,则会删除DistributionNotFound错误。但是,GAE项目没有发送任何邮件。

谢谢,希望有人有答案。

1 个答案:

答案 0 :(得分:1)

感谢sendgrid-python中的人们解决了这个问题,并对sendgrid-python进行了更新。

4个步骤:

  • 'pip install sendgrid'
  • 'pip install smtpapi'
  • 将sendgrid文件夹和smtpapi文件夹复制到您的GAE目录
  • 将smtpapi文件夹移动到sendgrid文件夹中 - 来自github sendgrid-python的示例代码现在可以正确执行,以及如何为GAE提供sendgrid功能。

希望这有助于某人。