部署到Google App Engine时“没有名为云端的模块”

时间:2018-08-23 16:09:41

标签: python google-app-engine google-cloud-platform google-cloud-storage pypi

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

以下是我的要求。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/..

提前谢谢

3 个答案:

答案 0 :(得分:1)

首先,the google-cloud package has been deprecated

第二,您不能使用App Engine Standard中的google-cloud-*库。您必须使用其他替代方法,例如GoogleAppEngineCloudStorageClient

答案 1 :(得分:1)

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

好消息是,您可以改用“第二代”,它允许您安装任何库,包括google-cloud之类的google-cloud-storage个库。

有关两代产品之间的区别,请参见以下链接:https://cloud.google.com/appengine/docs/standard/appengine-generation

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

答案 2 :(得分:0)

请执行pip install google-cloud-automl

这将解决问题。