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

导入top2vec时遇TypeError:__init__()不识别cachedir参数

解决导入top2vec时的TypeError: __init__() got an unexpected keyword argument 'cachedir'错误

问题原因

这个错误是由于hdbscan版本不兼容导致的:新版本hdbscan(v0.8.30及以上)将Memory类的初始化参数从cachedir更改为location,但当前安装的top2vec依赖的hdbscan代码仍在使用旧参数cachedir,从而触发参数不匹配的报错。

解决方案

方案1:降级hdbscan到兼容版本

执行以下pip命令,将hdbscan降级到0.8.29版本(该版本仍使用cachedir参数,与top2vec兼容):

pip install hdbscan==0.8.29 --force-reinstall

方案2:修改hdbscan源代码适配新参数

  1. 找到报错文件路径:~\AppData\Roaming\Python\Python39\site-packages\hdbscan\hdbscan_.py
  2. 打开文件,定位到第509行:
    memory=Memory(cachedir=None, verbose=0),
    
  3. 将参数cachedir替换为location,修改后代码:
    memory=Memory(location=None, verbose=0),
    
  4. 保存文件后重新运行导入代码。

验证

修改完成后,重新执行from top2vec import Top2Vec,若不再报错则问题解决。

内容的提问来源于stack exchange,提问作者Redwan Hossain Arnob

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 17:45:37