Невозможно импортировать scikits-learn, хотя кажется, что он установлен

Согласно руководству пользователя scikit-learn, я установил scikit-learn, используя pip install -U scikit-learn.

Итак, используя pip search scikit-learn, я получаю такой результат поиска:

scikit-learn - A set of python modules for machine learning and data mining
INSTALLED: 0.12.1 (latest)

Но когда я захожу в Python и пытаюсь выполнить import sklearn, я получаю ImportError: No module named sklearn. Это действительно должно было сработать.

Я использую бесплатный дистрибутив Python (2.7.3) от Enthought на Mac OS 10.6.8 с NumPy 1.6.1 и SciPy 0.10.1. Да, я знаю, что EPD Free поставляется с scikit-learn, но pip должен был обновить мою версию, чтобы я действительно мог использовать scikit-learn.


person Alan    schedule 03.11.2012    source источник
comment
У вас установлено более одного Python? Питон, с которым вы вызываете pip, — это питон, который получает доступ к модулю.   -  person unutbu    schedule 04.11.2012
comment
python --version из командной строки и import sys; sys.version в интерактивной среде. Версия командной строки должна предоставить вам используемую версию pip.   -  person tacaswell    schedule 04.11.2012
comment
@tcaswell Определенно использует Python 2.7.3, который предоставляется с EPD Free. Когда я делаю printenv, кажется, что в PATH есть более одного Python, но версия EPD Free находится раньше в PATH и должна превзойти другую версию.   -  person Alan    schedule 04.11.2012
comment
найдите, где когда-либо pip устанавливал модуль, и убедитесь, что путь находится в sys.path   -  person tacaswell    schedule 04.11.2012


Ответы (5)


У меня такая же проблема, @Alan дал правильное решение, но трудный путь. Вот простые шаги для решения проблемы, так как я на Mac OSX, даю шаги для того же.

Ameys-Mac-mini:~ amey$ python --version
Python 2.7.2
Ameys-Mac-mini:~ amey$ cd /Library/Python/2.7/site-packages/
Ameys-Mac-mini:site-packages amey$ brew install gcc
Ameys-Mac-mini:site-packages amey$ sudo pip install -t . numpy scipy scikit-learn 
person Amey Jadiye    schedule 21.01.2015
comment
как раз то, что мне было нужно круто - person Magnum; 22.01.2015
comment
спасибо, через несколько часов я наконец наткнулся на правильное решение! - person Larissa Leite; 21.02.2017
comment
я получаю must supply either home or prefix/exec-prefix -- not both - person WestCoastProjects; 04.06.2017
comment
@javadba, пожалуйста, следуйте этому вопросу, и вы получите свое решение. stackoverflow.com/ вопросы/41640935/ - person Amey Jadiye; 28.11.2017
comment
Если вы хотите установить его для определенной версии Python, выполните sudo python2.7 -m pip install -t . scikit-learn или используйте среды. - person fdelia; 07.12.2017
comment
Я действительно не советовал бы sudo pip ничего устанавливать. Через год ты будешь пинать себя. Вместо этого установите без sudo в среду virtualenv или conda. - person duhaime; 17.04.2018

Спасибо, ребята (см. ветку комментариев под вопросом)! Оказывается, у меня есть две версии Python в дереве каталогов /Library/Frameworks/Python.framework моего Mac: 2.7 (поставляется с OSX) и 7.3 (устанавливается EPD Free).

Получается pip поставил scikit-learn под 2.7, когда очень хотел под 7.3.

Изменение каталогов на site-packages в нужной версии Python и вызов pip install -t . {package-name} достаточно для установки package-name в нужной версии Python.

ПОСТЛЮД (февраль 2021 г.): Оглядываясь назад на этот вопрос почти 9-летней давности, я думаю, что столкнулся с версией этого комикса XKCD.

ад управления зависимостями в python

В настоящее время для управления зависимостями библиотек разработки данных Python, таких как scikit, я просто использую conda. и pyenv.

person Alan    schedule 03.11.2012
comment
не могли бы вы уточнить команду, которую нужно выполнить? Мне кажется, это не работает, и я думаю, что у меня такая же проблема. - person LoveMeow; 14.10.2014

В моем случае мое расширение python установило все в

/Library/Python/2.7/site-packages/ 

После того, как я использую команду, указанную на официальном сайте

pip install -U numpy scipy scikit-learn

пакет scikit-learn был фактически установлен в моем

/usr/local/lib/python2.7/site-packages

Поэтому я скопировал все пакеты из второго в первый каталог, после чего я могу импортировать пакет sklearn.

person zinc    schedule 28.04.2015

Для дальнейшего использования:

easy_install -U статистические модели

person Kacper Wikieł    schedule 14.11.2015

У меня была такая же проблема, и я мог понять, что версии Python были разными. Я следил за этим ответить.

На странице Zeppelin перейдите в настройки, настройки Intepreter и измените свой python на python3.

person pnv    schedule 25.01.2021