首页 > 解决方案 > ImportError:无法从“google.cloud”(未知位置)导入名称“pubsub_v1”

问题描述

我正在尝试在云函数中导入 pubsub_v1。但是当我尝试在 GCP 上部署它时,出现了标题中的问题。requirements.txt 文件与 main.py 文件位于同一目录中。这是 requirements.txt 中的内容:

google-api-core==1.3.0
google-auth==1.5.1
google-cloud-core==0.28.1
google-cloud-storage==1.10.0
google-resumable-media==0.3.1
googleapis-common-protos==1.5.3
google-api-python-client==1.7.4
oauth2client==4.1.2
google-cloud-bigquery==1.5.0
google-cloud-logging==1.7.0
google-cloud-pubsub==0.26.0
proto-google-cloud-pubsub-v1==0.15.4
gapic-google-cloud-pubsub-v1==0.15.4
grpc-google-iam-v1==0.11.4

我使用以下命令部署云功能:

gcloud functions deploy some_function --runtime python37 --trigger-resource bucket --trigger-event google.storage.object.finalize --memory 2048 --timeout 500

标签: pythongoogle-cloud-platformgoogle-cloud-functionsgoogle-cloud-pubsub

解决方案


您使用的是相当旧的google-cloud-pubsub. 你只能做:

from google.cloud import pubsub_v1

google-cloud-pubsub>=0.28.1.

此外,可能值得一提的是,您可能不需要gapic-google-cloud-pubsub-v1在您的函数中列出所有子依赖项(如 )requirements.txt- 当您部署函数时,Google Cloud Functions 只需指定google-cloud-pubsub.


推荐阅读