web-dev-qa-db-ja.com

ImportError:名前をinplace_column_scaleにインポートできません

Python 2.7とscikit-learn0.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

ありがとう〜

21
user3479153

pythonフォルダーに移動し、ファイルを削除することで、これを修正できました。

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

私の推測では、問題は次のとおりでした。

  1. 古いバージョンのscikit-learnは、WindowsDLLとしてsparsefuncsを実装していました
  2. 現在のバージョンはそれをpythonファイルとして実装しています
  3. 古いバージョンの上に新しいバージョンをインストールしても、古いDLLは削除されません。
  4. インポートしようとすると、Pythonはpyの実装よりもpydを使用します
  5. しかし、古い実装にはこの機能が含まれていませんでした

これは、新しいバージョンのインストールによって大きな問題が発生する可能性があることを示唆しており、新しいバージョンを再インストールする前にsklearnディレクトリ全体を削除することをお勧めします。

29
Peter de Rivaz

MacOSでも同じ問題が発生しました。

私はファイルを手動で削除することでそれを解決しました:

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

18
Steven

アンインストールscikit-learnそしてそれを再インストールすることが私のために働いた唯一のオプションでした:

 pip uninstall scikit-learn
 pip install scikit-learn
4
gozzilli

私はこの問題を次のように解決します:

pip uninstall scikit-learn

そして、python 'site-packages'の 'sklearn'フォルダーをrmすることを忘れないでください

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

次に、パッケージを再インストールします。

pip install scikit-learn
1
YellowTree

私も同じ問題を抱えていました。私はもともとscikit-learnを次の方法でインストールしました。

Sudo apt-get install python-sklearn

ここに掲載されている他の解決策がどれも機能しなかったとき、私は自分のバージョンのscikit-learnをアンインストールして再インストールすることにしました。

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

Pythonには2つのバージョンがあるため、pip2を使用しました。したがって、Python 2.7でscikit-learnを使用します。

0
Nacho

関連するメモとして、これはバグとして Githubの公式ページ にいくつかの追加の解決策とともに投稿されており、基本的に上記と同じ解決策を提案しています。簡単に言うと、make cleanを実行して、.soファイルを削除します。

0
Matt

_safe_splitをインポートできない場合に発生した同じ問題、見てください

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

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

編集:AndreasMuellerによるコメントを確認してください

0
optimusprime