sklearn ImportError:没有名为_check_build的模块

时间:2014-04-14 14:18:05

标签: python scikit-learn

我试图导入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中断了。

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

7 个答案:

答案 0 :(得分:3)

好的,以下内容对我有用:)

sudo make
sudo python setup.py install

最后,要测试安装是否正常:

nosetests --exe sklearn

答案 1 :(得分:2)

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

sudo apt-get build-dep python-sklearn

答案 2 :(得分:2)

我在Windows 10上遇到相同的问题。我在Anaconda中安装了Python 3.7,并且此安装不仅带来了此问题。解决在anaconda提示符下运行的问题:

conda install scikit-learn

至少这对我有用

答案 3 :(得分:0)

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

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

我从this page安装了scikit-learn(同样,scipynumpy-MKL)后问题似乎消失了。

答案 4 :(得分:0)

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

答案 5 :(得分:0)

在我的情况下,我在两个地方安装了Python,首先是我自己在一个地方独立安装python,另一个地方是蟒蛇,另一个是anaconda,它将蟒蛇安装在自己的文件夹中。因此,每当我打电话给Scikit Learn时,它都是引用第一个python文件夹,而该文件夹与scikit Learn有一些问题,但是当我完全删除旧的Python文件夹时,jupyter notebook就是引用了正确的python文件夹,因此可以正常工作。

答案 6 :(得分:0)

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

conda install scikit-learn