Windows10 Anaconda环境下sklearn.base导入失败该如何解决?
scikit-learn导入BaseEstimator失败解决方案
根因定位
从报错堆栈可直接定位异常点:标准SciPy库的scipy\sparse\linalg\eigen\arpack\__init__.py文件不存在导入sklearn组件的逻辑,你环境中该文件被篡改/被自定义同名文件覆盖,触发了循环导入,导致scikit-learn加载失败。
修复步骤
- 首先手动删除路径
C:\Util\Anaconda3\lib\site-packages\scipy下的整个scipy文件夹,清理残留的异常文件 - 打开Anaconda Prompt命令行,执行以下命令强制重装匹配版本的SciPy:
conda install scipy --force-reinstall - 执行以下命令固定重装你所需的0.21.3版本scikit-learn:
conda install scikit-learn=0.21.3 --force-reinstall - 验证修复结果,命令行执行:
python -c "from sklearn.linear_model import LinearRegression; print('组件加载正常')"
无报错即可正常使用。
注意事项
后续开发过程中,不要在工作目录、Python的site-packages目录下放置
scipy.py、sklearn.py这类和官方依赖库同名的自定义文件,避免覆盖官方库逻辑触发同类异常。
内容的提问来源于stack exchange,提问作者tauwolf
相关产品推荐
相关产品推荐

