繁体   English   中英

Google App Engine 中 SendGrid 的“导入错误:没有名为 sendgrid 的模块”

[英]“ImportError: No module named sendgrid” for SendGrid in Google App Engine

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

它在开发服务器上完美运行,但是当我部署到 GAE 时,我收到“ImportError: No module named sendgrid”

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

我与 SendGrid 技术支持人员进行了交谈,但他们指的是 Google。

这是 main.py 中的导入行

from sendgrid import SendGridClient, Mail

项目目录结构如下所示:

-+
 |
 +sendgrid
 +smtpapi
 main.py

更新:

在删除所有内容并一点一点地添加回来后,我终于发现了问题所在。

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

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

pip install sendgrid

否则你可以通过键入将其安装为系统范围的模块

sudo apt-get install sendgrid

看看我是怎么解决的。 在此处输入图片说明

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

pip install sendgrid

收集sendgrid缓存条目反序列化失败,条目被忽略下载https://files.pythonhosted.org/packages/b4/c6/d1ff0214c758d49bbc4b3761dae6d5653c3aea801ba49a9c94cc1fbf7980/sendgridany-█0.04/sendgrid7n█0.04-B100█0.3 █████████████████████████████| 81kB 952kB/s 收集 starkbank-ecdsa>=1.0.0(来自 sendgrid)缓存条目反序列化失败,条目被忽略 下载https://files.pythonhosted.org/packages/4c/48/29de0f3876d8f89906372da49f134bank16e6e6e5c49f134bank16e6e6e6e6e5c5e1326e5c5 .tar.gz收集 python-http-client>=3.2.1(来自 sendgrid)缓存条目反序列化失败,条目被忽略 下载https://files.pythonhosted.org/packages/d9/93/fffa7a16e735ae8b946a58e2521e7118080340de0dc23a_http://files.pythonhosted.org/packages / .tar.gz安装收集到的包:starkbank-ecdsa、python-http-client、sendgrid 运行 setup.py install for starkbank-ecdsa ... done 运行 setup.py install for python-http-client ... done 成功安装 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”命令进行升级。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM