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

scikit-learn 1.2中导入sklearn.model_selection报错求助

scikit-learn 1.2导入train_test_split报错解决

问题详情

使用scikit-learn 1.2版本,执行以下导入代码时触发AttributeError:

from sklearn.model_selection import train_test_split

完整错误栈:

Output exceeds the size limit. Open the full output data in a text editor
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[13], line 1
----> 1 from sklearn.model_selection import train_test_split

File /opt/homebrew/anaconda3/lib/python3.9/site-packages/sklearn/model_selection/__init__.py:23
     20 from ._split import train_test_split
     21 from ._split import check_cv
---> 23 from ._validation import cross_val_score
     24 from ._validation import cross_val_predict
     25 from ._validation import cross_validate

File /opt/homebrew/anaconda3/lib/python3.9/site-packages/sklearn/model_selection/_validation.py:32
     30 from ..utils.fixes import delayed
     31 from ..utils.metaestimators import _safe_split
---> 32 from ..metrics import check_scoring
     33 from ..metrics._scorer import _check_multimetric_scoring, _MultimetricScorer
     34 from ..exceptions import FitFailedWarning

File /opt/homebrew/anaconda3/lib/python3.9/site-packages/sklearn/metrics/__init__.py:41
     37 from ._classification import multilabel_confusion_matrix
     39 from ._dist_metrics import DistanceMetric
---> 41 from . import cluster
     42 from .cluster import adjusted_mutual_info_score
     43 from .cluster import adjusted_rand_score
...
     19 )

File sklearn/metrics/_pairwise_distances_reduction/_base.pyx:1, in init sklearn.metrics._pairwise_distances_reduction._base()

AttributeError: module 'sklearn.metrics._dist_metrics' has no attribute 'DistanceMetric32'

解决步骤

这个错误源于scikit-learn的Cython编译模块缺失或安装不完整,按以下方法修复:

  • 重新安装指定版本:先卸载现有包,再重新安装scikit-learn 1.2.0,确保安装过程无中断
    pip uninstall -y scikit-learn
    pip install scikit-learn==1.2.0
    
  • Anaconda环境用户用conda安装:避免pip与conda的依赖冲突,用conda重新安装
    conda remove scikit-learn
    conda install scikit-learn=1.2.0
    
  • 清理安装缓存:如果重新安装后仍报错,清理缓存再重试
    • pip缓存清理:pip cache purge
    • conda缓存清理:conda clean -a
  • 验证安装有效性:安装完成后运行以下代码确认
    import sklearn
    print(sklearn.__version__)
    from sklearn.model_selection import train_test_split
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 16:25:20