не удается импортировать имя ‘CredentialsFileSymbolicLinkError’

#python-3.x #pip #ubuntu-16.04 #pydrive

#python-3.x #pip #ubuntu-16.04 #pydrive

Вопрос:

Я устанавливаю pydrive с помощью pip3 с --user . При попытке запустить пример скрипта я получаю следующую ошибку:

 $ python3 quick.py 
Traceback (most recent call last):
  File "quick.py", line 1, in <module>
    from pydrive.drive import GoogleAuth
  File "/home/fauzan/.local/lib/python3.5/site-packages/pydrive/drive.py", line 2, in <module>
    from .files import GoogleDriveFile
  File "/home/fauzan/.local/lib/python3.5/site-packages/pydrive/files.py", line 12, in <module>
    from .auth import LoadAuth
  File "/home/fauzan/.local/lib/python3.5/site-packages/pydrive/auth.py", line 15, in <module>
    from oauth2client.file import CredentialsFileSymbolicLinkError
ImportError: cannot import name 'CredentialsFileSymbolicLinkError'
  

То, что я пытался сделать, это вручную отредактировать файл oauth2client.py и добавление отсутствующего исключения из репозитория github (строка 32). Однако затем я столкнулся с ошибкой импорта, из-за отсутствия имени модуля oauth2client.util . Pydrive auth.py импортирует scopes_to_string из oauth2client.util . Я проверил папку пакета oauth2client и util.py отсутствовал.

Затем я удалил pydrive, oauth2client и google-api-python-client, используя pip и pip3. Затем я установил pydrive agian, на этот раз также с --no-cache-dir . Снова была выдана ошибка CredentialFile …. Я не знаю, как действовать дальше.

Я не хочу тратить дни на выяснение, как приступить к установке пакетов, это время лучше потратить на написание кода. 🙁

Я заметил, что репозиторий github довольно сильно отличался от файлов пакета в моей системе.

Редактировать: Похоже, существует два пакета oauth2client this и this

Редактировать: это ошибка, и она отслеживается

Ответ №1:

Если вы столкнулись с этой проблемой, pydrive необходимо обновить до версии > = 1.3.1. Используя pip из командной строки:

 pip install pydrive --upgrade
  

Просто отправляю это как ответ, чтобы мы могли пометить это как решенное / отвеченное.

Комментарии:

1. Спасибо! Я перепробовал так много вещей, но это та, которая сработала для меня. Пальцы вверх!