【发布时间】: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