无法从sklearn导入数据集:numpy 'int'属性错误求助
解决
numpy 无 int 属性的报错问题 核心原因
这个报错是因为高版本numpy(1.24+)彻底移除了np.int这个已弃用的别名,而你的scikit-learn版本和当前numpy版本不兼容,导致sklearn内部代码还在调用np.int。
可行解决方案
1. 升级scikit-learn到兼容版本
如果不想降级numpy,直接升级scikit-learn到适配高版本numpy的版本:
pip install --upgrade scikit-learn
scikit-learn 1.2.0及以上版本已修复该兼容性问题。
2. 降级numpy到支持np.int的版本
若暂时不想升级sklearn,可将numpy降到1.23.x版本:
pip install numpy==1.23.5
该版本仍保留np.int别名,不会触发报错。
3. 临时兼容补丁(不推荐长期使用)
如果以上两种方法无法操作,可在代码最顶部添加补丁,手动映射np.int到内置int:
import numpy as np # 兼容np.int的临时补丁 if not hasattr(np, 'int'): np.int = int
注意:此方法仅为临时 workaround,可能引发其他潜在问题,优先推荐前两种版本匹配方案。
内容的提问来源于stack exchange,提问作者Sunlitlily
相关产品推荐
相关产品推荐

