部署到 Google App Engine 时"No module named cloud"



我已经为Google App Engine构建了一个应用程序,当我尝试运行该应用程序时,它运行良好。但是当我部署它时,它抛出了内部服务器 500 错误。当我检查错误报告时,它说"目录中没有名为云的模块"

以下是我的要求.txt

gunicorn==19.3.0
twilio==6.8.4
google-cloud-automl==0.1.1
google-cloud-storage==1.0.0
google-cloud==0.34.0
GoogleAppEngineCloudStorageClient==1.9.22.1

我的Yaml文件如下

runtime: python27
api_version: 1
threadsafe: yes
handlers:
- url: .*
script: main.app

python文件中使用的导入是

from google.cloud import automl_v1beta1 as automl
from google.cloud import storage

当我手动运行时它有效。但是部署后,错误是

ImportError: No module named cloud
<module> (/base/data/home/apps/..

提前谢谢你

您似乎正在尝试部署到"第一代"App Engine 运行时。不幸的是,你不能在那里使用google-cloudPython库。

好消息是您可以使用"第二代"代替,它允许您安装任何库,包括任何google-cloud库,如google-cloud-storage.

请参阅此链接了解两代之间的区别:https://cloud.google.com/appengine/docs/standard/appengine-generation

Google App Engine Python 3 Standard Environment Document: https://cloud.google.com/appengine/docs/standard/python3/

首先,google-cloud包已被弃用。

其次,您无法在 App Engine 标准版中使用google-cloud-*库。您必须使用其他替代方案,例如GoogleAppEngineCloudStorageClient.

请执行pip install google-cloud-automl

这将解决问题。

最新更新