来自 oauth2client.service_account 导入 ServiceAccountCredentials:无法导入名称 'opentype'

from oauth2client.service_account import ServiceAccountCredentials : cannot import name 'opentype'

我使用 python 3.6.0。 我想玩 Google Drive API。 当我 import oauth2client.service_account 我得到这个错误:

Traceback (most recent call last):
  File "test.py", line 3, in <module>
    from oauth2client.service_account import _ServiceAccountCredentials
  File "C:\Users\aaron\Anaconda3\lib\site-packages\oauth2client\service_account.py", line 26, in <module>
    from oauth2client import crypt
  File "C:\Users\aaron\Anaconda3\lib\site-packages\oauth2client\crypt.py", line 23, in <module>
    from oauth2client import _pure_python_crypt
  File "C:\Users\aaron\Anaconda3\lib\site-packages\oauth2client\_pure_python_crypt.py", line 24, in <module>
    from pyasn1_modules.rfc2459 import Certificate
  File "C:\Users\aaron\Anaconda3\lib\site-packages\pyasn1_modules\rfc2459.py", line 20, in <module>
    from pyasn1.type import opentype
ImportError: cannot import name 'opentype'

考虑升级您的 google-auth 模块

pip install --upgrade google-auth-oauthlib

还有 pyasn1_module,负责将 ASN.1 类型和编解码器作为 Python 包

实施
pip install --upgrade pyasn1-modules

更新 工作解决方案: 强制安装你的模块

pip install -U -I pyasn1 pyasn1-modules