如何从 python (ModuleNotFoundError) 运行带有 scikit-learn 0.24 版的“spherecluster”包?
Posted
技术标签:
【中文标题】如何从 python (ModuleNotFoundError) 运行带有 scikit-learn 0.24 版的“spherecluster”包?【英文标题】:How to run the "spherecluster" package with scikit-learn version 0.24 from python (ModuleNotFoundError)? 【发布时间】:2021-09-10 20:37:40 【问题描述】:我需要从 https://github.com/jasonlaska/spherecluster 导入模块“spherecluster”。 (蟒蛇/皮皮) 但它不适用于 scikit-learn 软件包版本 > 0.24 的最新版本。
我收到以下错误:
ModuleNotFoundError: No module named 'sklearn.cluster.k_means_'
我发现k_means_
在以后的版本中被重命名了。 (代码结构改变)
如何解决这个问题?
我是否需要完全重写 spherecluster 中的代码才能使用当前的 sklearn 版本运行?
【问题讨论】:
【参考方案1】:This is an open issue on the package,从作者缺乏响应的情况来看,似乎被忽视了。继续打扰他们,表达你对 PR 的支持。
否则,正确的解决方案是限制 Conda 环境仅使用兼容版本的 scikit-learn。
## create a new env with the constraint
conda create -n spherecluster python=3.7 pip scikit-learn=0.22
## activate it
conda activate spherecluster
## install the package from
pip install spherecluster
一个不太合适的解决方案是从 PR 分支安装 spherecluster
包:
conda activate your_env
pip install git+https://github.com/rfayat/spherecluster.git@scikit_update
【讨论】:
以上是关于如何从 python (ModuleNotFoundError) 运行带有 scikit-learn 0.24 版的“spherecluster”包?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 Boost.Python 从 python 文件中导入函数
Python:如何从带有Python的原始电子邮件源解析诸如:从,到,正文之类的东西[重复]
如何从 python 使用 mongolab 插件到 Heroku?