试图在Python中运行GmailAPI快速启动时出现属性错误?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (103)

看起来这里可能存在版本错配问题。我该怎么修理它?

我试着用PIP来更新六号,但那没有任何作用。

下面是我看到的错误:

Traceback (most recent call last):
  File "./quickstart.py", line 27, in <module>
    credentials = run(flow, STORAGE, http=http)
  File "/Library/Python/2.7/site-packages/oauth2client/util.py", line 137, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "/Library/Python/2.7/site-packages/oauth2client/old_run.py", line 120, in run
    authorize_url = flow.step1_get_authorize_url()
  File "/Library/Python/2.7/site-packages/oauth2client/util.py", line 137, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "/Library/Python/2.7/site-packages/oauth2client/client.py", line 1827, in step1_get_authorize_url
    return _update_query_params(self.auth_uri, query_params)
  File "/Library/Python/2.7/site-packages/oauth2client/client.py", line 435, in _update_query_params
    parts = urllib.parse.urlparse(uri)
AttributeError: 'Module_six_moves_urllib_parse' object has no attribute 'urlparse'
提问于
用户回答回答于

预先安装的OSX版本的6(1.4.1)是加载的,因为它的位置位于您的python路径的第一位。

因此,Gmail(1.6.1)所需的版本是屏蔽的,因此从未导入。

一个快速的修复就是将1.6.1安装目录放在python路径的前面,所以它会在1.4.1版本之前加载。

import sys
sys.path.insert(1, '/Library/Python/2.7/site-packages')
用户回答回答于

我遇到了一个非常类似的问题,尽管使用了完全不同的API(计算引擎)。最后,我将GoogleAPI客户机回滚到以前的版本--1.3.2,而不是最新的-1.4.0。为了做到这一点,我运行:

sudo pip install -I google-api-python-client==1.3.2

扫码关注云+社区

领取腾讯云代金券