使用grpc和云数据存储时如何在App Engine Flex中修复AttributeError?

问题描述 投票:4回答:1

[当我使用Google App Engine Flex部署python3应用程序时,出现以下错误:

  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/vmagent/app/run.py", line 8, in <module>
    app = create_app(os.getenv('FLASK_CONFIG') or 'default')
  File "/home/vmagent/app/application/__init__.py", line 43, in create_app
    from .main import main as main_blueprint
  File "/home/vmagent/app/application/main/__init__.py", line 5, in <module>
    from . import cron_jobs, views
  File "/home/vmagent/app/application/main/cron_jobs.py", line 4, in <module>
    from google.cloud import datastore
  File "/env/lib/python3.6/site-packages/google/cloud/datastore/__init__.py", line 60, in <module>
    from google.cloud.datastore.batch import Batch
  File "/env/lib/python3.6/site-packages/google/cloud/datastore/batch.py", line 24, in <module>
    from google.cloud.datastore import helpers
  File "/env/lib/python3.6/site-packages/google/cloud/datastore/helpers.py", line 29, in <module>
    from google.cloud.datastore_v1.proto import datastore_pb2
  File "/env/lib/python3.6/site-packages/google/cloud/datastore_v1/__init__.py", line 18, in <module>
    from google.cloud.datastore_v1.gapic import datastore_client
  File "/env/lib/python3.6/site-packages/google/cloud/datastore_v1/gapic/datastore_client.py", line 18, in <module>
    import google.api_core.gapic_v1.client_info
  File "/env/lib/python3.6/site-packages/google/api_core/gapic_v1/__init__.py", line 26, in <module>
    from google.api_core.gapic_v1 import method_async  # noqa: F401
  File "/env/lib/python3.6/site-packages/google/api_core/gapic_v1/method_async.py", line 20, in <module>
    from google.api_core import general_helpers, grpc_helpers_async
  File "/env/lib/python3.6/site-packages/google/api_core/grpc_helpers_async.py", line 145, in <module>
    class _WrappedStreamUnaryCall(_WrappedUnaryResponseMixin, _WrappedStreamRequestMixin, aio.StreamUnaryCall):
AttributeError: module 'grpc.experimental.aio' has no attribute 'StreamUnaryCall'

我的requirements.txt文件包括以下内容:

google-cloud-datastore==1.12.0
grpcio==1.27.2

我使用grpcio版本1.27.2而不是最新的1.29.0的原因是here中显示的信息>

有人可以帮忙吗?

[当我使用Google App Engine Flex部署python3应用程序时,出现以下错误:_gcd_import中的文件“ ”,第994行,文件“

python google-app-engine flask google-cloud-datastore
1个回答
7
投票

我刚刚遇到了相同的问题,因此可能会对您有所帮助。我注意到google-api-core也是一个依赖项,并且最近进行了更新(特别是在grpc_helpers_async周围),因此我将其固定到版本1.17.0即可解决此问题。只需将其添加到您的要求中即可:

© www.soinside.com 2019 - 2024. All rights reserved.