这是我在尝试使用gcloud app deploy进行部署时收到的错误。我以前已经成功地部署了相同的应用程序。我能够在本地机器上运行该应用程序,但在部署时会收到错误。
回溯:
Updating service [default]...failed.
ERROR: (gcloud.app.deploy) Error Response: [9]
Application startup error:
[2017-08-25 10:50:23 +0000] [1] [INFO] Starting gunicorn 19.7.1
[2017-08-25 10:50:23 +0000] [1] [INFO] Listening at: http://0.0.0.0:8080 (1)
[2017-08-25 10:50:23 +0000] [1] [INFO] Using worker: sync
[2017-08-25 10:50:23 +0000] [7] [INFO] Booting worker with pid: 7
[2017-08-25 10:50:23 +0000] [7] [ERROR] Exception in worker process
Traceback (most recent call last):
File "/env/lib/python3.5/site-packages/gunicorn/arbiter.py", line 578, in spawn_worker
worker.init_process()
File "/env/lib/python3.5/site-packages/gunicorn/workers/base.py", line 126, in init_process
self.load_wsgi()
File "/env/lib/python3.5/site-packages/gunicorn/workers/base.py", line 135, in load_wsgi
self.wsgi = self.app.wsgi()
File "/env/lib/python3.5/site-packages/gunicorn/app/base.py", line 67, in wsgi
self.callable = self.load()
File "/env/lib/python3.5/site-packages/gunicorn/app/wsgiapp.py", line 65, in load
return self.load_wsgiapp()
File "/env/lib/python3.5/site-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp
return util.import_app(self.app_uri)
File "/env/lib/python3.5/site-packages/gunicorn/util.py", line 352, in import_app
__import__(module)
File "/home/vmagent/app/main.py", line 19, in <module>
app = bookshelf.create_app(config)
File "/home/vmagent/app/bookshelf/__init__.py", line 49, in create_app
model = get_model()
File "/home/vmagent/app/bookshelf/__init__.py", line 107, in get_model
from . import model_datastore
File "/home/vmagent/app/bookshelf/model_datastore.py", line 16, in <module>
from google.cloud import datastore
File "/env/lib/python3.5/site-packages/google/cloud/datastore/__init__.py", line 61, in <module>
from google.cloud.datastore.client import Client
File "/env/lib/python3.5/site-packages/google/cloud/datastore/client.py", line 33, in <module>
from google.cloud.datastore.query import Query
File "/env/lib/python3.5/site-packages/google/cloud/datastore/query.py", line 19, in <module>
from google.api.core import page_iterator
ImportError: No module named 'google.api.core'
[2017-08-25 10:50:23 +0000] [7] [INFO] Worker exiting (pid: 7)
[2017-08-25 10:50:24 +0000] [1] [INFO] Shutting down: Master
[2017-08-25 10:50:24 +0000] [1] [INFO] Reason: Worker failed to boot.发布于 2017-08-26 21:59:32
tl;dr:将您的google-cloud升级到0.27,它应该可以修复一些问题。
我相信这是一个带有新的google-cloud依赖项的bug。在我的例子中,google-cloud==0.25在其setup.py中引入了这些依赖项。
'google-cloud-core >= 0.24.0, < 0.25dev',
'google-cloud-datastore >= 1.0.0, < 2.0dev',就在最近的8/24 (该问题提交前一天),google-cloud-datastore包被更新为1.3.0。
不幸的是,google-cloud-datastore 1.3.0依赖于更新版本的google-cloud-core
'google-cloud-core >= 0.27.0, < 0.28dev',但是,这个版本控制冲突似乎没有得到pip的解决/没有警告,它使用的是旧版本。但是google-cloud-datastore想要from google.api.core import page_iterator,尽管google.api.core直到0.27.0才被添加,然后一切都崩溃了。
我相信"bug“存在于google-cloud===0.25中的过载、广泛的依赖项中(或者您正在使用的任何版本)。
我认为我们的“解决办法”是升级到最新版本的google-cloud=0.27。
尽管“适当的解决办法”是让google-cloud改进它们的版本控制依赖关系,而不是过于宽泛,否则就有可能破坏与已经发布的模块的向后兼容性。
https://stackoverflow.com/questions/45880108
复制相似问题