ImportError:没有名为 google.cloud 的模块

Posted

技术标签:

【中文标题】ImportError:没有名为 google.cloud 的模块【英文标题】:ImportError: No module named google.cloud 【发布时间】:2017-11-07 21:54:48 【问题描述】:

我无法导入 google.cloud.speech

from google.cloud import speech

我已经安装了它:

pip install --upgrade google-cloud-speech -t dir-name

从目录名导入时出现以下错误

ImportError: No module named google.cloud

包含所有子包的谷歌包都在那里,但每个子包中也没有 __init__.py。

如何在包文件夹中不添加 __init__.py 的情况下导入这些包?

PS:我也尝试过 from __future__ import absolute_import,但它不起作用。

【问题讨论】:

我也有同样的错误——创建专用虚拟环境有帮助。 pip install --upgrade google-cloud-speechfrom __future__ import absolute_import 为我工作。谢谢。 对我来说绝对重要 - pip install google-cloud-dialogflow 【参考方案1】:

“云语音 API 客户端库”文档 page 上的说明现在有效,并且安装成功,如您所愿。

我使用以下命令在我的 Debian 机器上安装了 Python 库:

pip install --upgrade google-cloud-speech

【讨论】:

正确答案。您需要调整命令以安装其他 google-cloud 包。例如对我来说是pip install google-cloud-storage【参考方案2】:

使用这个:

pip install google-cloud-bigquery

【讨论】:

如果在笔记本上运行,重启内核并重新导入【参考方案3】:

我改用了sudo python -m pip install google-cloud,它成功了。

【讨论】:

现在好像需要指定具体的库。 “谷歌云-*”【参考方案4】:

“没有名为 google.cloud 的模块”你需要一个用于谷歌云的 python 环境。

pip install virtualenv
virtualenv <your-env>
source <your-env>/bin/activate
<your-env>/bin/pip install <google-cloud>

&lt;google-cloud&gt; 将其替换为所需的库。例如:google-cloud-vision 或 google-cloud-storage 等

&lt;your-env&gt; 是一个文件夹名称,它将在您的项目中存储所有与python环境相关的东西。

【讨论】:

Google Cloud 不强制使用 python 环境。【参考方案5】:

在遇到相同问题数小时后,我发现了解决方案:在从“google.cloud”导入内容之前导入库“get_messages”。这在 Python 3 中有效:

from google.api_core.protobuf_helpers import get_messages
from google.cloud import speech

【讨论】:

【参考方案6】:

试试这个:

$ git clone https://github.com/GoogleCloudPlatform/google-cloud-python
$ cd google-cloud-python/speech
$ python setup.py install

根据Ref.

【讨论】:

【参考方案7】:

6 月 18 日后不推荐使用 google.cloud,您应该安装包的特定扩展

pip install google-cloud-x

使用

来源:github discussion

【讨论】:

@nishith 如果解决了您的请求,请将解决方案标记为完成【参考方案8】:

安装google-api-python-client后, 您必须指定要安装的确切谷歌云产品。

所以对于 pubsub 来说是:

$pip3 install --upgrade google-cloud-pubsub

【讨论】:

【参考方案9】:

我最近遇到了同样的问题。两件事为我解决了:

安装以下软件包

google-api-core==1.22.1 
google-auth==1.20.1
google-cloud-texttospeech==2.2.0
googleapis-common-protos==1.52.0
graphviz==0.13.2
greenlet==0.4.16
grpcio==1.31.0
gTTS==2.1.1
gTTS-token==1.1.3

如果这不起作用,请尝试切换到 Python 3.7

【讨论】:

我通过在命令行(3.7.3)上使用python3解决了这个问题【参考方案10】:

我最近遇到了同样的问题。我的错误是因为我没有启用 Cloud Speech-to-Text API 造成的。我能够在云控制台中执行此操作,并且错误已解决。

【讨论】:

【参考方案11】:

输入这个命令:

 pip show google-cloud

你应该看到这样的输出:

Name: google-cloud
Version: 0.34.0
Summary: API Client library for Google Cloud
Home-page: https://github.com/GoogleCloudPlatform/google-cloud-python
Author: Google Cloud Platform
Author-email: googleapis-publisher@google.com
License: Apache 2.0
Location: c:\users\<user>\appdata\roaming\python\python37\site-packages
Requires:
Required-by:

然后获取完整的位置路径并将其添加到 PATH (env vars)

【讨论】:

【参考方案12】:

运行

pip install -r requirements.txt

要求 .txt 内容为

google-cloud-datastore==1.15.0

【讨论】:

【参考方案13】:

这里提到的安装都没有帮助我。然后我做了以下事情并且成功了:

pip install google-cloud-logging

参考:https://pypi.org/project/google-cloud-logging/

【讨论】:

以上是关于ImportError:没有名为 google.cloud 的模块的主要内容,如果未能解决你的问题,请参考以下文章

ImportError:没有名为枚举的模块

ImportError:没有名为“appdirs”的模块

ImportError:没有名为 websocket 的模块

ImportError:没有名为“backports”的模块

ImportError:没有名为 ghostscript 的模块

ImportError:运行火花时没有名为请求的模块