解决sklearn找不到模块(安装后但导入失败)

Posted 陌上骑驴Yiping_Chen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决sklearn找不到模块(安装后但导入失败)相关的知识,希望对你有一定的参考价值。

文章目录

解决sklearn找不到模块(安装后但导入失败)

ImportError: DLL load failed: 找不到指定的模块。

要点一:卸载全部numpy、scipy和scikit-learn包

pip uninstall numpy
pip ninstall scipy
pip uninstall scikit-learn

出现错误原因:安装包的来源问题,也可以理解为包版本兼容问题,有的包使用官方出版,有的包使用whl文件安装
解决方案:将所有包都统一来源,要么全部使用官方出版的包,要么全部使用whl里面的包,问题就解决了
所有包在这里

pip install 下载包的路径+包的名字.whl

注意安装顺序!!!
第一个安装numpy。因为后两个安装必须依靠numpy。

要点二:按照要点一操作后还是导入失败

原因:numpy版本太高,无法与scikit-learn版本匹配
解决方案:安装合适版本的各个库(这里其实把numpy降低下就好了)
测试方案:(没试过,jupyter直接能用了,当时试了下终端,貌似不好用)
添加python的环境变量Path
输入python,打开解释器
输入import sklearn
若正常进入下一行,则成功

ImportError:DLL 加载失败:找不到指定的过程。 (导入sklearn)

【中文标题】ImportError:DLL 加载失败:找不到指定的过程。 (导入sklearn)【英文标题】:ImportError: DLL load failed: The specified procedure could not be found. (import sklearn) 【发布时间】:2019-03-18 14:25:02 【问题描述】:

当我导入sklearn 时,它会抛出这个ImportError(DLL load failed: The specified procedure could not be found.)

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-b7c74cbf5af0> in <module>()
----> 1 import sklearn

~\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>()
     11 
     12 from .murmurhash import murmurhash3_32
---> 13 from .validation import (as_float_array,
     14                          assert_all_finite,
     15                          check_random_state, column_or_1d, check_array,

~\Anaconda3\lib\site-packages\sklearn\utils\validation.py in <module>()
     20 
     21 from ..externals import six
---> 22 from ..utils.fixes import signature
     23 from .. import get_config as _get_config
     24 from ..exceptions import NonBLASDotWarning

~\Anaconda3\lib\site-packages\sklearn\utils\fixes.py in <module>()
     81             return stats.boxcox(x, lmbda)
     82 else:
---> 83     from scipy.special import boxcox  # noqa
     84 
     85 

~\Anaconda3\lib\site-packages\scipy\special\__init__.py in <module>()
    638 from .sf_error import SpecialFunctionWarning, SpecialFunctionError
    639 
--> 640 from ._ufuncs import *
    641 
    642 from .basic import *

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

【问题讨论】:

【参考方案1】:

如果您已经工作安装了 numpyscipy,然后执行以下操作:

pip install -U scikit-learn

否则:

conda install scikit-learn

最后检查更新:

conda update pip

【讨论】:

不使用 anaconda 但得到同样的错误。能否提供更多细节? 没用,这就是我问的原因。最新版本可能不是我想要的版本 我整理出来了。实际上并不确定我做了什么。我卸载然后重新安装了一些东西。我使用 Enthought Canopy,所以有一个包管理器。

以上是关于解决sklearn找不到模块(安装后但导入失败)的主要内容,如果未能解决你的问题,请参考以下文章

从sklearn.utils导入改组-DLL加载失败:找不到指定的过程

ImportError:DLL 加载失败:找不到指定的过程。 (导入sklearn)

sklearn:ImportError:DLL加载失败:找不到指定的模块

DLL加载失败:找不到指定的模块

sklearn 包找不到模块

在 anaconda 中找不到 sklearn 模块