Проблемы с установкой пакетов googleclient и fastavro
Я пытаюсь записать имена файлов моего GDrive в Avro-файл.
Для подключения к GDrive я использовал эти инструкции.
https://developers.google.com/drive/api/v3/quickstart/python
а для вывода использую писатель от fastavro
При использовании Virtualenv Python 3.8 googleapiclient работает нормально, но fastavro не может быть установлен (см. Ошибка установки fastavro). А при использовании Conda 3.8 установка fastavro работает нормально, но не находит googleapiclient (см. Не находит googleapiclient).
'''
из сборки импорта googleapiclient.discovery
от автора импорта Fastavro
'''
Я уже обновил оба интерпретатора, оба 3.8.2.
У меня уже есть Visual Studio, но установка не работает (файл открывается и закрывается сразу).
Моя среда разработки - PyCharm.
Любая помощь будет высоко ценится.
2 ответа
Tl ;dr Установка версии 0.21.4 fastavro отдельно и сначала может исправить некоторые установки пакетов Google.
У меня была связанная проблема: установка пакета Google (apache-beam[gcp]) для Python3.8 не удалась из-за зависимости fastavro (fastavro<=0.22, >0.21.4), но я нашел обходной путь. Мне интересно, может ли быть основная причина того же, поэтому я опубликую это здесь (и, надеюсь, другие, подобные мне, тоже столкнутся с этим).
После воспроизведения проблемы как в MacOS, так и в образе Docker на основе Ubuntu, я попытался установить fastavro отдельно. Последняя версия (0.23.2) работает успешно, однако apache-beam имеет ограничение версии на уровне 0.22. Установка версии 0.22.0 не удалась, и я не стал разбираться, почему это так. Однако,pip3 install fastavro==0.21.4
успешно, и если вы установите его отдельно перед apache-beam, все будет отлично.
Я нашел проблему. Чтобы использовать google-api-python-client вместо googleapiclient, мне нужно было установить google-api-core.