ImportError:无法导入名称inplace_column_scale

时间:2014-03-30 21:41:59

标签: python scikit-learn

将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

谢谢〜

7 个答案:

答案 0 :(得分:29)

我能够通过转到我的python文件夹并删除文件来解决这个问题:

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

我的猜测是问题是:

  1. 旧版本的scikit-learn将sparsefuncs实现为windows DLL
  2. 当前版本将其实现为python文件
  3. 如果您在旧版本之上安装新版本,则不会删除旧版本的
  4. 当您尝试导入时,Python优先使用pyd而不是py实现
  5. 但旧的实现不包括此功能
  6. 这表明安装新版本可能会导致更大的问题,在重新安装新版本之前删除整个sklearn目录可能是明智之举。

答案 1 :(得分:18)

我在Mac Os中遇到了同样的问题。

我通过手动删除文件解决了这个问题:

  

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

答案 2 :(得分:4)

卸载scikit-learn并重新安装它是唯一对我有用的选项:

 pip uninstall scikit-learn
 pip install scikit-learn

答案 3 :(得分:0)

我遇到了同样的问题。我最初安装了scikit-learn

sudo apt-get install python-sklearn

如果此处发布的其他解决方案均无效,我决定卸载我的scikit-learn版本并重新安装:

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

使用pip2因为我有两个版本的python,所以我在Python 2.7中使用scikit-learn

答案 4 :(得分:0)

在相关的说明中,这已作为the official Github page上的错误发布,以及一些其他解决方案,基本上建议与上述相同的解决方案。长话短说:运行make clean以摆脱.so文件。

答案 5 :(得分:0)

我通过以下方式解决了这个问题:

pip uninstall scikit-learn

并且不要忘记了&#39; sklearn&#39; python&#39; site-packages&#39;

中的文件夹
rm -rf /path/Python-2.7.5/lib/python2.7/site-packages/sklearn/

然后重新安装包:

pip install scikit-learn

答案 6 :(得分:0)

发生同样的问题无法导入_safe_split,看看

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

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

编辑:检查Andreas Mueller的评论