You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HDX Python API更新后Configuration.create报TypeError错误求助

解决hdx-python-api更新后的TypeError问题

问题详情

之前使用hdx-python-api==5.9.7可正常从Humanitarian Data Exchange获取novel-coronavirus-2019-ncov-cases资源数据,将库更新至最新版本后,运行官方只读配置示例代码时触发如下错误:

Traceback (most recent call last):
  File "/home/user/dashboard/scripts/jhu.py", line 31, in <module>
    Configuration.create(hdx_site="prod", user_agent="A_Quick_Example", hdx_read_only=True)
  File "/home/user/anaconda3/lib/python3.8/site-packages/hdx/api/configuration.py", line 647, in create
    return cls._create(
  File "/home/user/anaconda3/lib/python3.8/site-packages/hdx/api/configuration.py", line 607, in _create
    cls._configuration.setup_session_remoteckan(remoteckan, **kwargs)
  File "/home/user/anaconda3/lib/python3.8/site-packages/hdx/api/configuration.py", line 471, in setup_session_remoteckan
    self._session, user_agent = self.create_session_user_agent(
  File "/home/user/anaconda3/lib/python3.8/site-packages/hdx/api/configuration.py", line 436, in create_session_user_agent
    session = get_session(
  File "/home/user/anaconda3/lib/python3.8/site-packages/hdx/utilities/session.py", line 173, in get_session
    retries = Retry(
TypeError: __init__() got an unexpected keyword argument 'allowed_methods'

使用的官方示例代码如下:

from hdx.api.configuration import Configuration
from hdx.data.dataset import Dataset

Configuration.create(hdx_site='prod', user_agent='A_Quick_Example', hdx_read_only=True)

def save(direct):
   datasets = Dataset.read_from_hdx('novel-coronavirus-2019-ncov-cases')
   print(datasets.get_date_of_dataset())
   resources = Dataset.get_all_resources(datasets)
    
   for res in resources:
       url, path = res.download(folder=direct)
       print('Resource URL %s downloaded to %s' % (url, path))

解决方案

这个错误的核心原因是hdx-python-api新版本使用了urllib3中Retry类的allowed_methods参数,但当前环境中urllib3版本过低,不支持该参数。

执行以下步骤修复:

  1. 升级urllib3到兼容版本:
pip install --upgrade urllib3
  1. 若升级后仍有问题,可直接指定最低兼容版本(推荐>=1.26.0):
pip install urllib3>=1.26.0

完成后重新运行代码即可正常获取数据。

内容的提问来源于stack exchange,提问作者kostya ivanov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 18:50:26