【发布时间】:2019-02-26 08:49:40
【问题描述】:
我正在部署一个谷歌云函数,它将使用google.cloud.pubsub_v1 启动其他谷歌云函数,我收到了这个错误ImportError: cannot import name 'pubsub' from 'google.cloud' (unknown location)
我的 requirements.txt 文件的开头是这样的
# Function dependencies, for example:
# package>=version
google-cloud-pubsub
....
我的 main.py 脚本的开头如下所示:
import base64
import json
from google.cloud import pubsub_v1
publisher = pubsub_v1.PublisherClient()
topic_path = publisher.topic_path(<PROJECT_ID>, <PUBSUB_TOPIC>)
我正在从 Google Cloud Source Repository 部署此代码。我已通读this SO post 关于我的错误,但该问题似乎与客户端应用程序中出现的此错误有关。我的错误是在部署过程中由 Google Cloud 功能本身生成的。我没有sudo 对 Google 用来运行我的进程的自动创建的 VM 的权限,是吗?我应该能够从requirements.txt 文件中解决此问题,但我尝试过的任何方法似乎都不起作用。
更令人沮丧的是,当我将相同的代码放入基于网络的 Google 函数编辑器的“内联编辑器”中时,我没有收到错误消息。从存储库加载代码时,我只会收到此错误。
存储库中的当前文件结构如下所示:
.
├── package
| ├── main.py
| ├── script1.py
| └── script2.py
├── package2
├── ...
└── requirements.txt
由于this SO Question 中遇到的问题,我将 main.py 移到了一个包中
有关如何解决此导入错误的任何想法?
【问题讨论】:
标签: python git google-cloud-platform google-cloud-functions google-cloud-pubsub