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

导入hdbscan时触发TypeError:builtin_function_or_method不支持+运算

修复import hdbscan触发TypeError的方案

这个问题是hdbscan与scikit-learn版本不兼容导致的:scikit-learn在1.2.0版本后将KDTree.valid_metrics和BallTree.valid_metrics从属性改为了需调用的方法,而旧版hdbscan仍尝试直接对这两个对象做拼接运算,因此报错。

以下是可行修复方案:

  • 检查当前版本
    先确认scikit-learn和hdbscan的版本:

    conda list scikit-learn hdbscan
    # 或用pip
    pip show scikit-learn hdbscan
    
  • 方案一:降级scikit-learn到兼容版本
    如果使用的是旧版hdbscan(<=0.8.29),将scikit-learn降级到1.1.x版本:

    conda install scikit-learn=1.1.3
    # pip环境用
    pip install scikit-learn==1.1.3
    
  • 方案二:升级hdbscan到最新兼容版本
    新版hdbscan已修复该兼容性问题,直接升级即可:

    conda install hdbscan --update-deps
    # pip环境用
    pip install --upgrade hdbscan
    
  • 方案三:临时修改hdbscan源码(应急用,不推荐长期使用)
    找到hdbscan安装目录下的_hdbscan_tree.py文件,定位到包含KDTree.valid_metrics + BallTree.valid_metrics的代码行,修改为:

    valid_metrics = KDTree.valid_metrics() + BallTree.valid_metrics()
    

    保存文件后重新尝试import hdbscan。

内容的提问来源于stack exchange,提问作者Nathan Luo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 00:05:01