使用Poetry安装scikit-learn与imbalanced-learn时遭遇版本不兼容问题求助
Poetry安装scikit-learn与imbalanced-learn时遭遇版本不兼容问题求助
从你的错误日志能一眼看出核心问题——版本依赖冲突:你指定的scikit-learn^1.7.1(即≥1.7.1且<2.0)和imbalanced-learn^0.13.0的依赖要求完全不匹配。
问题根源拆解
imbalanced-learn 0.13.0依赖的sklearn-compat包,对scikit-learn的版本有严格限制:必须落在>1.2,<1.7这个区间内。但你要安装的scikit-learn 1.7.1已经超出了这个上限,所以Poetry的依赖解析器直接判定版本冲突,终止了安装流程。
两种可行的解决方案
方案一:降低scikit-learn到兼容版本
直接指定scikit-learn为1.6.x系列的稳定版本(比如1.6.2),这个版本既满足sklearn-compat的依赖要求,也能适配你的Python 3.13环境。执行以下命令即可:
poetry add scikit-learn==1.6.2 imbalanced-learn==0.13.0
方案二:升级imbalanced-learn到无冲突版本
imbalanced-learn从0.14.0版本开始,已经移除了对sklearn-compat的依赖,能够完美兼容scikit-learn 1.7+版本。你可以直接安装最新的兼容版本:
poetry add scikit-learn^1.7.1 imbalanced-learn^0.14.0
小技巧
以后再遇到类似的依赖冲突,可以用poetry show --tree <包名>命令查看目标包的依赖树,能帮你快速定位版本限制,提前避开这类坑~




