2017-08-25 7 views
6

gcloud app deployを使用してデプロイしようとしたときに表示されるエラーです。以前は同じアプリを正常に導入しました。私は、ローカルマシンでアプリケーションを実行することですが、デプロイGoogle Cloud Platform:ImportError:デプロイ時に 'google.api.core'という名前のモジュールがありません

にエラーを受け取りトレースバック:

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. 

答えて

7

TL; DR:あなたのgoogle-cloud0.27にアップグレードし、それは物事を修正する必要があります。


これは新しいgoogle-cloudのバグであると信じています。 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によるunwarned /未解決であるようです。しかしgoogle-cloud-datastoregoogle.api.core0.27.0まで追加されていないにもかかわらず、from google.api.core import page_iteratorを望んでいて、すべてが破損します。

「バグ」は、google-cloud===0.25(または使用しているバージョンに関係なく)の広範な依存関係にあります。

「修正」はgoogle-cloud=0.27の最新バージョンにアップグレードすることです。

「適切な修正」はgoogle-cloudのためにバージョン管理の依存関係を改善し、それほど広範ではなく、すでに公開されているモジュールとの下位互換性を損なう危険性があります。

関連する問題