ここにバージョンの不一致の問題があるようです。どうすれば修正できますか?
6つを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'
まったく異なるAPI(Compute Engine)を使用していましたが、非常によく似た問題が発生しました。私は結局、グーグルAPIクライアントを最新の1.4.0ではなく以前のバージョン-1.3.2にロールバックしました。これを行うために、私は実行しました:
Sudo pip install -I google-api-python-client==1.3.2
そして、私のコードを実行することができました。
これが同じ問題であるかどうかはわかりませんが、それは私のためにトリックを行ったようです、これが役立つことを願っています。
問題の原因を突き止めました-プレインストールされた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')