python - 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
解决方案
您使用的是相当旧的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
.