Подтвердить что ты не робот

ImportError: невозможно импортировать имя inplace_column_scale

Использование Python 2.7 с пакетом scikit-learn 0.14. Он хорошо работает на некоторых примерах из гильдии пользователей, ожидающих линейные модели.

Traceback (most recent call last):
File "E:\P\plot_ols.py", line 28, in <module>
from sklearn import datasets, linear_model
File "C:\Python27\lib\site-packages\sklearn\linear_model\__init__.py", line 12, in    <module>
from .base import LinearRegression
File "C:\Python27\lib\site-packages\sklearn\linear_model\base.py", line 29, in <module>
from ..utils.sparsefuncs import mean_variance_axis0, inplace_column_scale
ImportError: cannot import name inplace_column_scale

Спасибо ~

4b9b3361

Ответ 1

Я смог исправить это, перейдя в мою папку python и удалив файл:

python27\Lib\site-packages\sklearn\utils\sparsefuncs.pyd

Я предполагаю, что проблема заключалась в следующем:

  • Более старая версия scikit-learn реализована sparsefuncs как DLL Windows
  • Текущая версия реализует его как файл python
  • Если вы устанавливаете новую версию поверх старой версии, она не удаляет старую DLL
  • При попытке импорта Python использует pyd, предпочитая реализацию py
  • Но старая реализация не включала эту функцию

Это говорит о том, что могут возникнуть большие проблемы, связанные с установкой новой версии, и было бы целесообразно удалить весь каталог sklearn перед повторной установкой новой версии.

Ответ 2

Я столкнулся с той же проблемой в Mac Os.

Я решил его, удалив файл вручную:

rm/usr/local/lib/python2.7/site-packages/sklearn/utils/sparsefuncs.so

Ответ 3

Удаление scikit-learn и переустановка - это единственный вариант, который работал у меня:

 pip uninstall scikit-learn
 pip install scikit-learn

Ответ 4

У меня была та же проблема. Я изначально установил scikit-learn в:

sudo apt-get install python-sklearn

Когда ни одно из других решений, опубликованных здесь, не работало, я решил удалить мою версию scikit-learn и переустановить ее:

pip2 install --user --install-option="--prefix=" -U scikit-learn  

Используется pip2, потому что у меня есть две версии python, поэтому я использую scikit-learn в Python 2.7

Ответ 5

В соответствующей заметке это было опубликовано как ошибка на официальной странице Github, а также некоторые дополнительные решения, в основном предлагающие одинаковые как описано выше. Короче говоря: запустите make clean, чтобы избавиться от файла .so.

Ответ 6

Я решаю эту проблему:

pip uninstall scikit-learn

и не забудьте rm папку 'sklearn' в пакетах python 'site-packages'

rm -rf /path/Python-2.7.5/lib/python2.7/site-packages/sklearn/

затем переустановите пакет:

pip install scikit-learn

Ответ 7

Аналогичная проблема возникла с невозможностью импорта _safe_split, посмотрите

http://stackoverflow.com/info/41024001/importerror-cannot-import-name-safe-split

https://github.com/scikit-learn/scikit-learn/issues/7582

РЕДАКТИРОВАТЬ: проверить комментарий Андреаса Мюллера