"No module named cloud" 正在部署到 Google App Engine

"No module named cloud" while deploying to Google App Engine

我已经为 Google App Engine 构建了一个应用程序,当我尝试 运行 该应用程序时,它运行良好。但是当我部署它时,它引发了内部服务器 500 错误。当我检查错误报告时,它说,"No module named cloud in the directory"

下面是我的requirements.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/..

提前致谢

首先,the google-cloud package has been deprecated.

其次,您不能在 App Engine Standard 中使用 google-cloud-* 库。您必须使用其他替代方案,例如 GoogleAppEngineCloudStorageClient.

您似乎正在尝试部署到 "First Generation" App Engine 运行时。不幸的是,您不能在那里使用 google-cloud Python 库。

好消息是您可以改用 "Second Generation",它允许您安装任何库,包括任何 google-cloud 库,例如 google-cloud-storage.

看这个link两代的区别:https://cloud.google.com/appengine/docs/standard/appengine-generation

Google App Engine Python 3 标准环境文档:https://cloud.google.com/appengine/docs/standard/python3/

请执行pip install google-cloud-automl

这将解决问题。