Sklearn-No module named ‘scipy.sparse._sparsetools‘

解决No module named 'scipy.sparse._sparsetools'问题

    • 问题
    • 解决方法

问题

明明已经安装了scipy模块,却显示没有这个模块,这个问题可能是因为版本不对应导致找不到相应的包,也有可能是安装版本不对,没有这个包

解决方法

由于scikit-learn存在依赖关系,安装的时候需要注意安装库的版本以及安装顺序,卸载相关的包,并重新按照顺序进行安装

首先卸载相关的包:

pip uninstall scipy
pip uninstall numpy
pip uninstall matplotlib
pip uninstall joblib

之后按照顺序进行安装:

Python (>= 3.5)
NumPy (>= 1.11.0)
SciPy (>= 0.17.0)
joblib (>= 0.11)

anaconda prompt中进入对应的环境,如果是创建的虚拟环境,就进入到虚拟环境中
依次进行以下安装

  1. 安装numpy
conda install numpy==1.17.2
  1. 安装scipy
conda install scipy==1.3.1

安装的时候报错,最后更改成以下命令得以解决:

pip install scipy --ignore-installed scipy
  1. 安装matplotlib
conda install matplotlib
  1. 安装scikit-learn
pip install -U scikit-learn==0.22.1

joblib会在安装scikit-learn的时候自动装上,前三个基本安装都不会出错,最后一个我安装的时候报错,显示通道不对,于是尝试以下命令:

conda install -c anaconda scikit-learn

安装这种东西就是一门玄学,每个人的问题都不相同,建议解决不了的时候多百度查一查,不一定哪一种命令就适合了。

你可能感兴趣的:(sklearn,python,机器学习)