【问题标题】:Python Linux Google drive API client install modules not foundPython Linux Google drive API 客户端安装模块未找到
【发布时间】:2018-04-29 21:50:34
【问题描述】:

我正在尝试在我的本地 Linux 机器上从 python 开始使用 google drive API。我希望能够从我的本地机器将文件来回移动到 Google 驱动器。我昨天刚开始学习 Python,但在使用 Google 快速入门说明时遇到了问题。当我尝试使用 python3 在https://developers.google.com/drive/v3/web/quickstart/python 运行快速入门代码时,出现此错误:

ImportError: No module named 'apiclient.discovery'

由文件顶部的这些导入语句产生。

from __future__ import print_function
from apiclient.discovery import build
from httplib2 import Http
from oauth2client import file, client, tools

按照说明,我安装了我认为我需要的命令

pip install --upgrade google-api-python-client

但是我收到了这个错误。我注意到如果我注释掉这一行

from apiclient.discovery import build

然后导入语句的其余部分没问题,脚本开始执行并且浏览器弹出询问身份验证,但显然当它到达脚本中的“构建”函数调用时它会中断。我究竟做错了什么?

我已经尝试将包含模块的 lib 文件夹安装到我的脚本正在执行的本地目录中,但我认为这仅在您使用谷歌应用引擎时才重要……不是吗?我不认为我是对的?当我这样做时,我尝试将导入语句更改为

from lib.googleapiclient.discovery import build

我得到了同样的错误,但我实际上在我的本地目录中的 lib/googleapiclient/discovery.py 中打开了该文件,并且代码是

...
def build(serviceName,
      version,
      http=None,
      discoveryServiceUrl=DISCOVERY_URI,
      developerKey=None,
      model=None,
      requestBuilder=HttpRequest,
      credentials=None,
      cache_discovery=True,
      cache=None):
...

那么为什么这个 import 语句不起作用呢?我也尝试过从

更改语句
from apiclient.discovery import build

from googleapiclient.discovery import build

我得到同样的错误,没有名为“googleapiclient”的模块

我昨天用 pip 安装了第 3 方模块,我从来没有遇到任何问题。这是怎么回事?感谢您的帮助。

【问题讨论】:

标签: python module google-drive-api python-import


【解决方案1】:
  1. 检查你的 python 和 pip 版本,并尝试 pip freeze 检查安装的包。

    python --version
    pip --version
    pip freeze
    

    请检查您的 python 版本,您的 pip 来自哪里(/usr/lib/python2.7 或 /usr/lib/python3.6 或其他 virtualenv)以及google-api-python-client 是否在 pip freeze 的输出中。

  2. 尝试重新安装google-api-python-client

    sudo pip install --force-reinstall google-api-python-client

  3. apiclient 是旧名称,所以最好使用googleapiclient 进行导入。

    from googleapiclient.discovery import module

【讨论】:

    猜你喜欢
    • 2018-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-05
    • 2022-08-28
    相关资源
    最近更新 更多