Ошибка при запуске теста python из конвейера сборки — ошибка типа: __init__() получен неожиданный аргумент ключевого слова ‘client_options’

#python-3.x #google-cloud-platform #azure-devops #google-cloud-storage #google-cloud-datastore

#python-3.x #google-cloud-platform #azure-devops #google-cloud-storage #google-cloud-хранилище данных

Вопрос:

Запуск теста python, в котором я использовал google-cloud-datastore в своем коде, так что эта ошибка зависит от версии?

 TypeError: __init__() got an unexpected keyword argument 'client_options'
  

Как исправить эту ошибку?

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

1. Можете ли вы добавить фактический код и полную обратную трассировку? Трудно дать какой-либо совет без него…

2. @yedpodtrzitko это конвейер Azure DevOps, и внутри этого конвейера есть одна задача, которая выполняет модульный тест python для нашего облачного приложения / кода. Есть несколько тестовых файлов, и они тоже работают должным образом с локального настроенного компьютера (настройка в облаке), но как только он запускался из конвейера на компьютере сборки Linux, происходил сбой. Я надеюсь, что это объяснение полезно, потому что не могу опубликовать здесь закрытый код.

3. У меня похожая проблема, и действительно сложно использовать этот вопрос / ответ без какого-либо примера кода. Возможно, вы можете скопировать / вставить и подделать связанные строки кода.

Ответ №1:

Я решил эту проблему, обновив приведенные ниже библиотеки,

предыдущие версии:

 google-cloud-core==1.3.0
google-cloud-datastore==1.14.0
  

новые версии:

 google-cloud-core==1.4.1
google-cloud-datastore==1.15.0
  

таким образом, мы могли бы сказать, что ошибка произошла из-за несоответствия версии в библиотеке Google, которая использовалась в нашем коде.

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

1. Привет, Винод, спасибо за обмен, вы могли бы принять ваш ответ, в этом случае другие могли бы напрямую найти полезное решение.

2. Я столкнулся с этой же проблемой, используя beam / dataflow, но мне нужно было обновить список REQUIRED_PACKAGES в setup.py для соответствия выводам pip freeze .

3. Это помогло, когда я получал то же сообщение об ошибке при попытке подключить dbt к моей учетной записи Google BigQuery. Я использовал pip3 для установки «new-versions-listed-above». Спасибо

4. Это помогло мне решить аналогичную проблему при развертывании облачных функций. В итоге я изменил синтаксис моих версий требований с «==» на «>=».