Google App Engine中的SendGrid的“ImportError:没有名为sendgrid的模块”

时间:2015-09-17 09:10:19

标签: python google-app-engine sendgrid

我按照https://cloud.google.com/appengine/docs/python/mail/sendgrid?hl=en的说明添加了SendGrid电子邮件支持到我的项目。

它在开发服务器上完美运行但是当我部署到GAE时,我得到“ImportError:没有名为sendgrid的模块”

我知道文件在服务器上(我从GAE下载了源代码来测试它)并且我有其他第三方库可以工作但不是sendgrid。

我采访了SendGrid技术支持,但他们指的是Google。

这是main.py

的导入行
from sendgrid import SendGridClient, Mail

项目目录结构如下所示:

-+
 |
 +sendgrid
 +smtpapi
 main.py

更新:

删除所有内容并一点一点地添加后我终于发现了什么问题。

我有一个名为“s”的静态内容文件夹。我没有提到它,因为我认为这是无关紧要的。删除此文件夹后 - sendgrid突然开始工作。最后,我把“s”改成了一个不以“s”开头的长名,问题就消失了。

3 个答案:

答案 0 :(得分:1)

我有一个名为“s”的静态内容文件夹,我在这个问题中没有提及,因为我认为这是无关紧要的。重命名此文件夹后,一切都开始工作。所以这个问题已经解决,但其原因仍然是一个谜......

答案 1 :(得分:1)

使用以下命令在您的虚拟环境中安装sendgrid模块

pip install sendgrid

或者您可以通过键入

将其安装为系统范围的模块
sudo apt-get install sendgrid

看看我是如何解决它的。 enter image description here

答案 2 :(得分:-1)

pip install sendgrid

收集sendgrid 高速缓存条目反序列化失败,条目被忽略 正在下载https://files.pythonhosted.org/packages/b4/c6/d1ff0214c758d49bbc4b3761dae6d5653c3aea801ba49a9c94cc1fbf7980/sendgrid-6.4.7-py3-none-any.whl(73kB) 100%|████████████████████████████████|| 81kB 952kB /秒 收集starkbank-ecdsa> = 1.0.0(来自sendgrid) 高速缓存条目反序列化失败,条目被忽略 正在下载https://files.pythonhosted.org/packages/4c/48/29de0f3876d8f89906372da49f132e5c5e46e2fa601a198a9eca6402f646/starkbank-ecdsa-1.1.0.tar.gz 收集python-http-client> = 3.2.1(来自sendgrid) 高速缓存条目反序列化失败,条目被忽略 正在下载https://files.pythonhosted.org/packages/d9/93/fffa7a16e735ae8b946a58e2521e71180803440edc2a0de0d2e9d4a93b84/python_http_client-3.3.1.tar.gz 安装收集的软件包:starkbank-ecdsa,python-http-client,sendgrid 正在为starkbank-ecdsa运行setup.py安装...已完成 正在为python-http-client运行setup.py install ...已完成 成功安装python-http-client-3.3.1 sendgrid-6.4.7 starkbank-ecdsa-1.1.0 您正在使用pip版本9.0.1,但是可以使用版本20.2.4。 您应该考虑通过“ python -m pip install --upgrade pip”命令进行升级。