我已经为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-cloud
Python库。
好消息是您可以使用"第二代"代替,它允许您安装任何库,包括任何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
。
这将解决问题。