【问题标题】:Can't import sklearn on Python 3.6无法在 Python 3.6 上导入 sklearn
【发布时间】:2018-03-07 00:23:54
【问题描述】:

我正在尝试导入 skit-learn 库,但它会生成此错误:

Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    import sklearn
  File "C:\Users\User\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\__init__.py", line 134, in <module>
    from .base import clone
  File "C:\Users\User\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\base.py", line 12, in <module>
    from .utils.fixes import signature
  File "C:\Users\User\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\utils\__init__.py", line 11, in <module>
    from .validation import (as_float_array,
  File "C:\Users\User\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\utils\validation.py", line 18, in <module>
    from ..utils.fixes import signature
  File "C:\Users\User\AppData\Local\Programs\Python\Python36\lib\site-packages\sklearn\utils\fixes.py", line 144, in <module>
    from scipy.sparse.linalg import lsqr as sparse_lsqr  # noqa
  File "C:\Users\User\AppData\Local\Programs\Python\Python36\lib\site-packages\scipy\sparse\linalg\__init__.py", line 114, in <module>
    from .isolve import *
  File "C:\Users\User\AppData\Local\Programs\Python\Python36\lib\site-packages\scipy\sparse\linalg\isolve\__init__.py", line 6, in <module>
    from .iterative import *
  File "C:\Users\User\AppData\Local\Programs\Python\Python36\lib\site-packages\scipy\sparse\linalg\isolve\iterative.py", line 7, in <module>
    from . import _iterative
ImportError: DLL load failed: Não foi possível encontrar o módulo especificado.

有人可以说发生了什么,我完全迷失了。

非常感谢

【问题讨论】:

  • 请提供尽可能详细的信息。你是如何安装 sklearn 的?
  • 我只是按照以下说明操作:link

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


【解决方案1】:

很抱歉,如果这看起来很明显,但这里没有提供很多信息,所以我无法判断您已经尝试过什么。

此软件包不包含在标准库中,因此您必须在导入之前下载/安装它您是否按照库网站上的说明进行操作? http://scikit-learn.org/stable/install.html

编辑:发现类似问题DLL Load Failed: The specified module could not be found [Python]

【讨论】:

  • 是的,我做到了!首先我安装 NumPy 和 SciPy,所以我使用网站中的命令 show 安装了 Scikit:pip install -U scikit-learn
  • 而不是使用 pip 命令,您可以按照类似帖子的答案(使用 conda 强制安装)
  • @Pinhal Anaconda 是一个 Python 发行版。当然当然 scikit-learn 与 Python 一起工作,它是一个 Python 库。然而,特别是在 Windows 上,很难分发具有复杂依赖关系的 Python 包。 scikit-learn 依赖于 numpy,我相信它需要编译的 C 二进制文件、BLAS / LAPACK 线性代数包装器,甚至还有一个 fortran 编译器。这在 Windows 上引起的头痛导致 conda 的开发,这是 Anaconda 分发附带的 包管理器
  • @Pinhal 所以,尤其是如果你是新手,建议在 Windows 上使用Anaconda。就个人而言,我会卸载您当前的 Python 解释器,并获得 Anaconda 并坚持下去。始终尝试首先使用conda 安装库。如果conda 没有库,请尝试pip,但conda 应该拥有所有“pydata 堆栈”,例如numpyscipysklearnmatplotlib 等等 无论如何,如果你获得了完整的 Anaconda 发行版,它已经包含所有这些库了。
  • @Pinhal Anaconda 是 Python,它是一个 Python 发行版,包含 scipy-stack 和标准库。但是,是的,卸载当前的 Python 安装,然后使用 Anaconda。我通常不使用 Windows,但我只能猜测。也许您没有使用正确的链接安装numpy。有太多的可能性,除非你真的知道你在 Windows 上做什么,否则很难弄清楚。解决方案是使用 pre-built 发行版,例如 Anaconda 或 Enthought Canopy。
【解决方案2】:

不久前我正在研究这个问题,我认为 Windows 上的脚本有点棘手。 SciPy 在其网页 https://www.scipy.org/install.html 上有安装程序的说明。如果你专门为这个项目安装了 python,我会去买 anaconda。您可以卸载您拥有的 python,或者只是告诉 anaconda 在安装过程中替换路径。

祝你好运!

【讨论】:

    【解决方案3】:

    好的,伙计们。我终于可以解决问题了。 我不知道为什么,但我卸载了 NumPy、SciPy 和 Scikit-Learn,然后使用此处的二进制文件再次安装:

    link

    而且它的工作。所有这些库都正常工作。 从 pip 安装时出现问题。

    嗯,我想这件事已经结案了。感谢@Hopeful_O、@juanpa.arrivillaga、@abccd 和@shadefc09 的帮助。

    【讨论】:

      猜你喜欢
      • 2018-08-07
      • 2017-11-23
      • 2016-05-12
      • 2019-04-23
      • 1970-01-01
      • 2017-01-20
      • 2020-05-03
      • 1970-01-01
      • 2020-11-07
      相关资源
      最近更新 更多