我试图导入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
中断了。
可能有人知道如何解决这个问题吗?
答案 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
(同样,scipy
和numpy-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