из oauth2client.service_account import ServiceAccountCredentials: невозможно импортировать имя «opentype»

Я использую питон 3.6.0. Я хочу поиграть с API Google Диска. Когда я 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'

person Aaron Aben Danan    schedule 04.09.2018    source источник


Ответы (1)


Рассмотрите возможность обновления вашего модуля 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
person Nishant Patel    schedule 04.09.2018
comment
Вот версии моих пакетов: google-auth-oauthlib=0.2.0 pyasn1-modules=0.2.2 - person Aaron Aben Danan; 04.09.2018
comment
@AaronAbenDanan: Можете ли вы запустить этот pip install -U pyasn1 pyasn1-modules, я думаю, что есть какая-то другая версия, конфликтующая с вашими последними модулями pyasn1 - person Nishant Patel; 04.09.2018
comment
Спасибо за ваш ответ. Вот что я получаю после pip install -U ... : Requirement already up-to-date: pyasn1-modules in c:\users\aaron\anaconda3\lib\site-packages (0.2.2) Installing collected packages: pyasn1 Found existing installation: pyasn1 0.1.9 Cannot uninstall 'pyasn1'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall. - person Aaron Aben Danan; 04.09.2018
comment
Итак, у вас есть 2 версии pyasn1, одна 0.1.9, а другая 0.2.2. Я предлагаю вам полностью удалить pyasn1. - person Nishant Patel; 04.09.2018
comment
Тоже не работает... Я понял : Collecting pyasn1-modules Using cached https://files.pythonhosted.org/packages/19/02/fa63f7ba30a0d7b925ca29d034510fc1ffde53264b71b4155022ddf3ab5d/pyasn1_modules-0.2.2-py2.py3-none-any.whl Installing collected packages: pyasn1, pyasn1-modules Found existing installation: pyasn1 0.1.9 Cannot uninstall 'pyasn1'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall. - person Aaron Aben Danan; 04.09.2018
comment
Лучше принудительно установите свои модули pip install -U -I pyasn1 pyasn1-modules - person Nishant Patel; 04.09.2018
comment
Спасибо ! Это работает сейчас - person Aaron Aben Danan; 04.09.2018