【问题标题】:sklearn ImportError: No module named _check_buildsklearn ImportError:没有名为_check_build的模块
【发布时间】:2022-04-25 01:09:15
【问题描述】:

我正在尝试导入 sklearn,但是当我尝试这样做时,我收到以下信息:

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

C:\Users\Alpine\AppData\Local\Enthought\Canopy\User\sklearn\__init__.py in <module>()
     29     # process, as it may not be compiled yet
     30 else:
---> 31     from . import __check_build
     32     from .base import clone
     33 

C:\Users\Alpine\AppData\Local\Enthought\Canopy\User\sklearn\__check_build\__init__.py in <module>()
     44     from ._check_build import check_build
     45 except ImportError as e:
---> 46     raise_build_error(e)

C:\Users\Alpine\AppData\Local\Enthought\Canopy\User\sklearn\__check_build\__init__.py in raise_build_error(e)
     39 to build the package before using it: run `python setup.py install` or
     40 `make` in the source directory.
---> 41 %s""" % (e, local_dir, ''.join(dir_content).strip(), msg))
     42 
     43 try:

ImportError: No module named _check_build
___________________________________________________________________________
Contents of C:\Users\Alpine\AppData\Local\Enthought\Canopy\User\sklearn\__check_build:
setup.py                  setup.pyc                 _check_build.c
_check_build.pyx          __init__.py               __init__.pyc
___________________________________________________________________________
It seems that scikit-learn has not been built correctly.

If you have installed scikit-learn from source, please do not forget
to build the package before using it: run `python setup.py install` or
`make` in the source directory.

If you have used an installer, please check that it is suited for your
Python version, your operating system and your platform.

ERROR: An unexpected error occurred while tokenizing input
The following traceback may be corrupted or invalid
The error message is: ('EOF in multi-line string', (1, 2))

我相当肯定 scikit-learn has been correctly built 我设法运行 python setup.py install 没有任何事故。然而,我确实尝试运行python setup.py bdist_wininst -b doc/logos/scikit-learn-logo.bmp,但在error: cannot copy tree 'build\scripts.win-amd64-2.7': not a directory 被中断。

有人知道如何解决这个问题吗?

【问题讨论】:

    标签: python scikit-learn


    【解决方案1】:

    我在 Windows 10 上遇到了同样的问题。我用 Python 3.7 安装了 Anaconda,而这次安装不仅出现了这个问题。解决在 anaconda 提示符下运行:

    conda install scikit-learn
    

    至少这对我有用

    【讨论】:

      【解决方案2】:

      好的,以下对我有用:)

      sudo make
      sudo python setup.py install
      

      最后测试是否安装成功:

      nosetests --exe sklearn
      

      【讨论】:

      • 哦。太棒了..它工作了..“sudo make”是什么意思?
      • @RyanLiu 你想安装什么?
      【解决方案3】:

      避免此错误的一种方法是确保您已安装所有所需的依赖项。在 Ubuntu / Debian 下,您可以通过运行以下命令来完成此操作:

      sudo apt-get build-dep python-sklearn
      

      【讨论】:

        【解决方案4】:

        这不完全符合您的问题,因为它不涉及 Enthought 分发;但是,我在使用 sklearn 的模块上遇到了类似的问题。错误类似于:

        $ python -m somefile.py           // somefile.py uses sklearn at some point
        Cannot import name __check_build
        

        在我从this page 安装scikit-learn(还有scipynumpy-MKL)之后,问题似乎消失了。

        【讨论】:

          【解决方案5】:

          确保您使用最新的 python 版本执行代码。如果您的机器上安装了多个 python 版本,那么只需删除第一行“#!/usr/bin/python”并尝试使用最新 python 版本的完整路径运行,例如“/usr/local/bin/python3.4 'filename ’”。如果您的python版本低于2.7,请尝试升级版本并安装依赖项,然后尝试上述方法。

          【讨论】:

            【解决方案6】:

            在我的例子中,我在两个地方安装了 Python,第一次是我自己独立安装 python 的地方,它位于一个单独的文件夹中,第二次是由 anaconda 安装的,它将 python 安装在自己的文件夹中。因此,每次我调用 Scikit Learn 时,它都会引用第一个 python 文件夹,该文件夹与 scikit learn 存在一些问题,但是当我完全删除旧的 Python 文件夹时,jupyter notebook 正在引用正确的 python 文件夹,因此它起作用了。

            【讨论】:

              【解决方案7】:

              我正在使用 Anaconda,这对我有用:

              conda install scikit-learn
              

              【讨论】:

                猜你喜欢
                • 2019-09-04
                • 2016-07-24
                • 2017-06-29
                • 2023-03-06
                • 2017-07-23
                • 1970-01-01
                • 2013-03-11
                • 2012-12-07
                • 2018-02-17
                相关资源
                最近更新 更多