Python 导入scikit学习模块时出错

Python 导入scikit学习模块时出错,python,scikit-learn,Python,Scikit Learn,我试图从集群模块调用一个函数,如下所示: import sklearn db = sklearn.cluster.DBSCAN() 我得到以下错误: AttributeError: 'module' object has no attribute 'cluster' 在IPython中,我似乎可以访问基本、克隆、外部、re、设置模块、系统和警告模块。除此之外,其他的(包括集群)都在sklearn目录中 遵循以下pbu的建议并使用 from sklearn import cluster 我得

我试图从集群模块调用一个函数,如下所示:

import sklearn
db = sklearn.cluster.DBSCAN()
我得到以下错误:

AttributeError: 'module' object has no attribute 'cluster'
在IPython中,我似乎可以访问基本、克隆、外部、re、设置模块、系统和警告模块。除此之外,其他的(包括集群)都在sklearn目录中

遵循以下pbu的建议并使用

from sklearn import cluster
我得到:

Traceback (most recent call last):
  File "test.py", line 2, in <module>
    from sklearn import cluster
  File "C:\Python34\lib\site-packages\sklearn\cluster\__init__.py", line 6, in <module>
    from .spectral import spectral_clustering, SpectralClustering
  File "C:\Python34\lib\site-packages\sklearn\cluster\spectral.py", line 13, in <module>
    from ..utils import check_random_state, as_float_array
  File "C:\Python34\lib\site-packages\sklearn\utils\__init__.py", line 16, in <module>
    from .class_weight import compute_class_weight, compute_sample_weight
  File "C:\Python34\lib\site-packages\sklearn\utils\class_weight.py", line 7, in <module>
    from ..utils.fixes import in1d
  File "C:\Python34\lib\site-packages\sklearn\utils\fixes.py", line 318, in <module>
    from scipy.sparse.linalg import lsqr as sparse_lsqr
  File "C:\Python34\lib\site-packages\scipy\sparse\linalg\__init__.py", line 109, in <module>
    from .isolve import *
  File "C:\Python34\lib\site-packages\scipy\sparse\linalg\isolve\__init__.py", line 6, in <module>
    from .iterative import *
  File "C:\Python34\lib\site-packages\scipy\sparse\linalg\isolve\iterative.py", line 7, in <module>
    from . import _iterative
ImportError: DLL load failed: The specified module could not be found.
回溯(最近一次呼叫最后一次):
文件“test.py”,第2行,在
从sklearn导入集群
文件“C:\Python34\lib\site packages\sklearn\cluster\\uuuu init\uuuu.py”,第6行,在
from.Spectrum import Spectrum_clustering,Spectrum clustering
文件“C:\Python34\lib\site packages\sklearn\cluster\spectrum.py”,第13行,在
from..utils导入检查\u随机\u状态,作为\u浮点\u数组
文件“C:\Python34\lib\site packages\sklearn\utils\\uuuu init\uuuu.py”,第16行,在
从.class\u weight导入compute\u class\u weight,compute\u sample\u weight
文件“C:\Python34\lib\site packages\sklearn\utils\class\u weight.py”,第7行,在
from..utils.fixes导入一维
文件“C:\Python34\lib\site packages\sklearn\utils\fixes.py”,第318行,在
从scipy.sparse.linalg导入lsqr作为稀疏\u lsqr
文件“C:\Python34\lib\site packages\scipy\sparse\linalg\\uuuuuu init\uuuuuuuuu.py”,第109行,在
从.isolve导入*
文件“C:\Python34\lib\site packages\scipy\sparse\linalg\isolve\\uuuu init\uuuu.py”,第6行,在
从。迭代导入*
文件“C:\Python34\lib\site packages\scipy\sparse\linalg\isolve\iterative.py”,第7行,在
从…起导入迭代
ImportError:DLL加载失败:找不到指定的模块。

我在Windows上使用Python 3.4,scikit学习0.16.1。

将这一行放在Python文件的顶部

from sklearn import cluster

这样就可以了:)

将这一行放在python文件的顶部

from sklearn import cluster

这应该可以做到:)

问题在于scipy/numpy安装。我一直在使用的(通常是优秀的!)非官方安装程序。从那里卸载/重新安装没有什么区别,但是使用官方安装程序(链接自)安装就成功了。

问题在于scipy/numpy安装。我一直在使用的(通常是优秀的!)非官方安装程序。从那里卸载/重新安装没有什么区别,但是使用官方安装程序(链接自)安装就成功了。

您可能不使用Numpy+MKL,而只使用Numpy

我遇到了同样的问题,并用MKL重新安装了Numpy

pip安装--升级--强制重新安装“numpy-1.16.3+mkl-cp37-cp37m-win32.whl”

修好了


注意:将文件更新到最新版本,可能是64位-请参见

您可能不使用Numpy+MKL,而只使用Numpy

我遇到了同样的问题,并用MKL重新安装了Numpy

pip安装--升级--强制重新安装“numpy-1.16.3+mkl-cp37-cp37m-win32.whl”

修好了


注意:将文件更新到最新版本,可能是64位-请参见

我正在使用的
anaconda
在加载Orange或PlotNine时遇到与OP相同的错误。 我想不起来这是什么时候开始的

DependencyWalk中缺少跟踪
Anaconda3\Lib\site packages\scipy\special\\u ufuncs.cp36-win32.pyd
libifcoremd.dll
libmmd.dll
的依赖关系。在anaconda根目录中搜索它们,它们位于ICC\u RT和MKL包的一个版本中

Anaconda3\pkgs\mkl-2017.0.3-0\Library\bin
添加到PATH,似乎可以修复SciPy和NumPy相关的DLL加载故障,上述软件包再次开始工作

我仍然不知道如何正确地解决这个问题。显然,缺点是MKL包可能会更新,版本可能会更改,路径也可能会更改。在这方面,它与添加非托管包一样不方便。


重新安装ICC\u RT为我解决了这个问题,
libmmd.dll
之后,相关dll会自动复制到
anaconda3/library/bin
中,并通过
activate
命令自动添加到
PATH
中。以前所有与numpy/scipy相关的
无法加载DLL的错误现在都消失了。

我正在使用的
anaconda
在加载Orange或PlotNine时遇到了与OP相同的错误。 我想不起来这是什么时候开始的

DependencyWalk中缺少跟踪
Anaconda3\Lib\site packages\scipy\special\\u ufuncs.cp36-win32.pyd
libifcoremd.dll
libmmd.dll
的依赖关系。在anaconda根目录中搜索它们,它们位于ICC\u RT和MKL包的一个版本中

Anaconda3\pkgs\mkl-2017.0.3-0\Library\bin
添加到PATH,似乎可以修复SciPy和NumPy相关的DLL加载故障,上述软件包再次开始工作

我仍然不知道如何正确地解决这个问题。显然,缺点是MKL包可能会更新,版本可能会更改,路径也可能会更改。在这方面,它与添加非托管包一样不方便。


重新安装ICC\u RT为我解决了这个问题,
libmmd.dll
之后,相关dll会自动复制到
anaconda3/library/bin
中,并通过
activate
命令自动添加到
PATH
中。以前所有与numpy/scipy相关的
无法加载DLL
错误现在都已消失。

从错误日志中可以看出scipy模块是最近导入失败的模块

  File "C:\Python34\lib\site-packages\sklearn\utils\fixes.py", line 318, in <module>
    from scipy.sparse.linalg import lsqr as sparse_lsqr
  File "C:\Python34\lib\site-packages\scipy\sparse\linalg\__init__.py", line 109, in <module>
    from .isolve import *
  File "C:\Python34\lib\site-packages\scipy\sparse\linalg\isolve\__init__.py", line 6, in <module>
    from .iterative import *
  File "C:\Python34\lib\site-packages\scipy\sparse\linalg\isolve\iterative.py", line 7, in <module>
    from . import _iterative
ImportError: DLL load failed: The specified module could not be found.

从错误日志中可以看出,scipy模块是最近导入失败的模块

  File "C:\Python34\lib\site-packages\sklearn\utils\fixes.py", line 318, in <module>
    from scipy.sparse.linalg import lsqr as sparse_lsqr
  File "C:\Python34\lib\site-packages\scipy\sparse\linalg\__init__.py", line 109, in <module>
    from .isolve import *
  File "C:\Python34\lib\site-packages\scipy\sparse\linalg\isolve\__init__.py", line 6, in <module>
    from .iterative import *
  File "C:\Python34\lib\site-packages\scipy\sparse\linalg\isolve\iterative.py", line 7, in <module>
    from . import _iterative
ImportError: DLL load failed: The specified module could not be found.

对我来说,这些命令解决了问题:

pip uninstall sklearn
pip uninstall scikit-learn
pip uninstall scipy
pip install scipy
pip install scikit-learnhere

对我来说,这些命令解决了问题:

pip uninstall sklearn
pip uninstall scikit-learn
pip uninstall scipy
pip install scipy
pip install scikit-learnhere

我遇到了同样的问题,通过安装/更新mkl软件包解决了这个问题:

conda install mkl

为了提供完整信息,这还降低了以下软件包的级别:

将更新以下软件包:

mkl:          2017.0.4-h6d528fc_0 defaults --> 2018.0.3-1         defaults
以下程序包将被降级:

numpy:        1.11.3-py34_0       defaults --> 1.10.1-py34_0      defaults
pandas:       0.19.2-np111py34_1  defaults --> 0.18.1-np110py34_0 defaults
scikit-learn: 0.18.1-np111py34_1  defaults --> 0.17-np110py34_1   defaults
scipy:        0.19.1-np111py34_0  defaults --> 0.16.0-np110py34_0 defaults
我有同样的国际空间站