导入 sklearn 时出错

Posted

技术标签:

【中文标题】导入 sklearn 时出错【英文标题】:Error importing sklearn 【发布时间】:2018-03-19 18:10:59 【问题描述】:

Python 版本:3.5.2 我开始使用机器学习和其他东西......所以我安装了 sklearn 和其他一些包形式的 pip。除了 sklearn 之外,所有这些都能够成功安装,所以我下载了***并从 here 安装了它。它已成功安装,但是当我尝试导入它以检查是否正确安装时,出现大量错误:

Traceback(最近一次调用最后一次): 文件“C:\MyFiles\Programs\Python\PlayGround.py”,第 1 行,在 导入 sklearn 文件“C:\Users\Vaibhav Acharya\AppData\Local\Programs\Python\Python35\lib\site-packages\sklearn__init__.py”,第 134 行,在 从 .base 导入克隆 文件“C:\Users\Vaibhav Acharya\AppData\Local\Programs\Python\Python35\lib\site-packages\sklearn\base.py”,第 12 行,在 从 .utils.fixes 导入签名 文件“C:\Users\Vaibhav Acharya\AppData\Local\Programs\Python\Python35\lib\site-packages\sklearn\utils__init__.py”,第 11 行,在 从 .validation 导入 (as_float_array, 文件“C:\Users\Vaibhav Acharya\AppData\Local\Programs\Python\Python35\lib\site-packages\sklearn\utils\validation.py”,第 18 行,在 从 ..utils.fixes 导入签名 文件“C:\Users\Vaibhav Acharya\AppData\Local\Programs\Python\Python35\lib\site-packages\sklearn\utils\fixes.py”,第 144 行,在 from scipy.sparse.linalg import lsqr as sparse_lsqr # noqa 文件“C:\Users\Vaibhav Acharya\AppData\Local\Programs\Python\Python35\lib\site-packages\scipy\sparse\linalg__init__.py”,第 114 行,在 从 .isolve 导入 * 文件“C:\Users\Vaibhav Acharya\AppData\Local\Programs\Python\Python35\lib\site-packages\scipy\sparse\linalg\isolve__init__.py”,第 6 行,在 从 .iterative 导入 * 文件“C:\Users\Vaibhav Acharya\AppData\Local\Programs\Python\Python35\lib\site-packages\scipy\sparse\linalg\isolve\iterative.py”,第 7 行,在 从 。 import _iterativeImportError: DLL load failed: 找不到指定的模块。

代码只是:

import sklearn

我已经检查了我下载的 Wheel 包的正确版本。 我该如何纠正它以及它为什么会发生?

【问题讨论】:

我建议卸载 sklearn 和其他依赖项并重新安装它们。如果可以使用 Conda 环境会更好。 您确定您使用的pip版本与您使用的Python环境相同吗? 我没听懂?请解释。 @无 @SreeramTP 试过了,没用! 在我的控制台中,如果我输入pip<tab>,Bash 会自动完成以下内容:None@vacuum:~$ pip pip pip3 pip3.5 pip3.6。这意味着我安装了多个版本的pippip3.5 仅适用于 Python 3.5.xpip3.6 仅适用于 Python 3.6.x。您需要使用适当的pip 版本。 【参考方案1】:

以下步骤解决了我的问题:

    正在卸载 numpy、sklearn 和 scipy。 从here下载numpy+mkl和scipy。 先安装numpy+mkl,再安装scipy。 从 pip 安装 sklearn。

【讨论】:

【参考方案2】:

需要检查各种东西:

    检查 numpy、scipy 安装版本。 如果正确,请尝试导入 numpy 和 scipy。 如果它们被正确导入,则清除您的temp(c:/users/username/Appdata/local/temp)文件夹。重新启动机器,然后重试。 如果还是不行,那就卸载 scipy、numpy、sklearn 和 重新安装正确的车轮文件

【讨论】:

【参考方案3】:

下载安装numpy+mkl文件。

目前您可能只安装了 numpy 文件。

    转至:https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

    下载适合你的python安装的对应wheel文件

    pip install "/path_to_thefile/numpy-1.14.6+mkl-cp36-cp36m-win_amd64.whl"

这应该对你有帮助

【讨论】:

以上是关于导入 sklearn 时出错的主要内容,如果未能解决你的问题,请参考以下文章

“从 sklearn 导入数据集”时出错

尝试导入 sklearn 模块时出错:ImportError: DLL load failed: The specified module could not be found

使用 sklearn 使用 KNeighborsClassifier 时出错

在 sklearn python 中使用高斯过程回归时出错

使用 sklearn Pipeline 中的索引提取子管道时出错

从 sklearn 导入困难