簡體   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