Scikit在Anaconda中学习DLL加载失败

时间:2019-03-16 22:01:24

标签: python-3.x scikit-learn anaconda

尝试在Anaconda jupyter笔记本中导入sklearn软件包时遇到导入错误。导入语句为

from sklearn.model_selection import train_test_split

错误的堆栈跟踪为

    ImportError                               Traceback (most recent call last)
<ipython-input-2-fc66e67e2be3> in <module>
      2 import numpy as np
      3 import matplotlib.pyplot as plt
----> 4 from sklearn.model_selection import train_test_split
      5 from sklearn.preprocessing import LabelEncoder
      6 from keras.models import Model

~\Anaconda3\lib\site-packages\sklearn\__init__.py in <module>
     62 else:
     63     from . import __check_build
---> 64     from .base import clone
     65     from .utils._show_versions import show_versions
     66 

~\Anaconda3\lib\site-packages\sklearn\base.py in <module>
     11 from scipy import sparse
     12 from .externals import six
---> 13 from .utils.fixes import signature
     14 from . import __version__
     15 

~\Anaconda3\lib\site-packages\sklearn\utils\__init__.py in <module>
     14 from . import _joblib
     15 from ..exceptions import DataConversionWarning
---> 16 from .fixes import _Sequence as Sequence
     17 from .deprecation import deprecated
     18 from .validation import (as_float_array,

~\Anaconda3\lib\site-packages\sklearn\utils\fixes.py in <module>
     90     from ._scipy_sparse_lsqr_backport import lsqr as sparse_lsqr
     91 else:
---> 92     from scipy.sparse.linalg import lsqr as sparse_lsqr  # noqa
     93 
     94 

~\Anaconda3\lib\site-packages\scipy\sparse\linalg\__init__.py in <module>
    115 from .dsolve import *
    116 from .interface import *
--> 117 from .eigen import *
    118 from .matfuncs import *
    119 from ._onenormest import *

~\Anaconda3\lib\site-packages\scipy\sparse\linalg\eigen\__init__.py in <module>
      9 from __future__ import division, print_function, absolute_import
     10 
---> 11 from .arpack import *
     12 from .lobpcg import *
     13 

~\Anaconda3\lib\site-packages\scipy\sparse\linalg\eigen\arpack\__init__.py in <module>
     20 from __future__ import division, print_function, absolute_import
     21 
---> 22 from .arpack import *

~\Anaconda3\lib\site-packages\scipy\sparse\linalg\eigen\arpack\arpack.py in <module>
     43 __all__ = ['eigs', 'eigsh', 'svds', 'ArpackError', 'ArpackNoConvergence']
     44 
---> 45 from . import _arpack
     46 import numpy as np
     47 import warnings

ImportError: DLL load failed: The specified procedure could not be found.

任何人都可以帮忙。

2 个答案:

答案 0 :(得分:0)

我也遇到了这个错误,并通过大量的尝试和错误解决了它。奇怪的是,我可以在python shell中成功导入sklearn.metrics,但不能在Jupyter Notebook中导入。

最后,我可以通过同时用anaconda重新安装scipy和相关软件包来解决此问题:conda install numpy numpy-base scipy scikit-learn mkl --force-reinstall

我发现此StackOverflow帖子很有用:Python scipy module import error due to missing ._ufuncs dll

答案 1 :(得分:0)

该线程较旧,但可能有人遇到相同的问题。就我而言,从Windows / system32删除(或将其重命名为.bak)所有MKL库都可以:

mkl_core.dll
mkl_def.dll
mkl_intel_thread.dll
libiomp5md.dll
libmmd.dll

还要检查Windows / SysWOW64中的这些文件。

就我而言,我删除了前4个文件,就像其他论坛上的一些帖子所建议的那样,但仍然出现“ DLL加载失败:找不到指定的过程”-错误。我发现使用Dependencywalker时,还必须删除libmmd.dll。