#python
#python
Вопрос:
Я пытаюсь извлечь данные с помощью модуля cdsapi python. но выдает следующую ошибку
2020-10-19 12:55:52,780 INFO Sending request to https://cds.climate.copernicus.eu/api/v2/resources/reanalysis-era5-press
Traceback (most recent call last):
File "cds.py", line 10, in <module>
}, 'download.grib')
File "build/bdist.linux-x86_64/egg/cdsapi/api.py", line 229, in retrieve
File "build/bdist.linux-x86_64/egg/cdsapi/api.py", line 241, in _api
File "build/bdist.linux-x86_64/egg/cdsapi/api.py", line 358, in wrapped
File "/home/apps/SiteSoftwares/gnu/PYTHONPACKAGES/2.7.9/ucs4/gnu/4.8.5/REQUESTS/2.18.4/lib/python2.7/site-packages/req.4-py2.7.egg/requests/sessions.py", line 555, in post
return self.request('POST', url, data=data, json=json, **kwargs)
File "/home/apps/SiteSoftwares/gnu/PYTHONPACKAGES/2.7.9/ucs4/gnu/4.8.5/REQUESTS/2.18.4/lib/python2.7/site-packages/req.4-py2.7.egg/requests/sessions.py", line 494, in request
prep = self.prepare_request(req)
File "/home/apps/SiteSoftwares/gnu/PYTHONPACKAGES/2.7.9/ucs4/gnu/4.8.5/REQUESTS/2.18.4/lib/python2.7/site-packages/req.4-py2.7.egg/requests/sessions.py", line 437, in prepare_request
hooks=merge_hooks(request.hooks, self.hooks),
File "/home/apps/SiteSoftwares/gnu/PYTHONPACKAGES/2.7.9/ucs4/gnu/4.8.5/REQUESTS/2.18.4/lib/python2.7/site-packages/req.4-py2.7.egg/requests/models.py", line 309, in prepare
self.prepare_auth(auth, url)
File "/home/apps/SiteSoftwares/gnu/PYTHONPACKAGES/2.7.9/ucs4/gnu/4.8.5/REQUESTS/2.18.4/lib/python2.7/site-packages/req.4-py2.7.egg/requests/models.py", line 540, in prepare_auth
r = auth(self)
TypeError: 'tuple' object is not callable
Я зарегистрировал и установил клиентский ключ cdsapi, как предложено в следующей ссылке
https://cds.climate.copernicus.eu/api-how-to
Мой простой фрагмент кода показан ниже
import cdsapi
cds = cdsapi.Client()
cds.retrieve('reanalysis-era5-pressure-levels', {
"variable": "temperature",
"pressure_level": "1000",
"product_type": "reanalysis",
"date": "2017-12-01/2017-12-31",
"time": "12:00",
"format": "grib"
}, 'download.grib')
что в этом плохого??
Комментарии:
1. Пожалуйста, отправьте полное сообщение об ошибке, включая обратную трассировку.
2. опубликована подробная ошибка. Пожалуйста, ознакомьтесь с этим
3. попробуйте изменить версию python. для меня 3.6 не удалось импортировать пакет, а 3.7 запустить код без проблем
4. та же ошибка с python 3.7
Ответ №1:
Это не очень очевидно из инструкций, если вы вошли в систему, но в key
поле вашего .cdsapirc
файла вам нужны как идентификатор пользователя, так и ключ api как:
key: $user_id:$api_key
У меня тоже была эта проблема, и я решил ее, указав свой идентификатор пользователя.
Ответ №2:
У меня была такая же проблема. После входа на веб-сайт Copernicus и принятия условий лицензии по следующему URL-адресу моя проблема решена:
https://cds.climate.copernicus.eu/cdsapp /#!/условия/лицензия на использование-copernicus-продукты
Ответ №3:
Проблема решена. Существует проблема в файле ~/.cdsapirc, который необходимо правильно настроить. После настройки программа работает нормально.
Комментарии:
1. было бы хорошо, если бы вы углубились в детали, имея ту же ошибку
2. @Rafael возможно, вам не хватает вашего идентификатора пользователя в
key
поле?