版本升级到 scikit-learn

Posted

技术标签:

【中文标题】版本升级到 scikit-learn【英文标题】:Version upgrade to scikit-learn 【发布时间】:2016-02-23 04:52:10 【问题描述】:

我想对一些数据做 LDA,所以按照这个例子:

http://scikit-learn.org/stable/auto_examples/decomposition/plot_pca_vs_lda.html#example-decomposition-plot-pca-vs-lda-py

但是,在尝试时:

from sklearn.discriminant_analysis import LinearDiscriminantAnalysis

我收到一个导入错误。嗯,也许这是一个新功能,我想。所以我通过 conda 将 scikit-learn 从 0.15.2 更新到了 0.17。但现在我什至无法导入 sklearn:

    import sklearn
RuntimeError: module compiled against API version a but this version of numpy is 9
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "//anaconda/lib/python2.7/site-packages/sklearn/__init__.py", line 57, in <module>
    from .base import clone
  File "//anaconda/lib/python2.7/site-packages/sklearn/base.py", line 9, in <module>
    from scipy import sparse
  File "//anaconda/lib/python2.7/site-packages/scipy/sparse/__init__.py", line 213, in <module>
    from .csr import *
  File "//anaconda/lib/python2.7/site-packages/scipy/sparse/csr.py", line 13, in <module>
    from ._sparsetools import csr_tocsc, csr_tobsr, csr_count_blocks, \
ImportError: numpy.core.multiarray failed to import

我尝试使用 pip 和 conda 更新 numpy 和 scipy 无济于事。然后我尝试通过以下方式完全干净地重新安装 anaconda:

rm -rf ~/anaconda

随后从http://docs.continuum.io/anaconda/install#anaconda-install 下载 .pkg

我仍然得到同样的错误。以下是我的操作系统和软件包详细信息:

Mac OSX 10.5.2
bash-3.2$ conda -V
conda 3.18.6

scipy==0.16.0
numpy==1.9.1
scikit-learn==0.17

最后一个是通过 pip freeze 实现的,因为我无法导入它。我要疯了。非常感谢任何帮助。

【问题讨论】:

您尝试过conda update -all 吗?确保满足所有其他依赖项。 嗨,Leb,是的,我试过没有用。不过还是谢谢。 【参考方案1】:

试试:

conda install numpy=1.10.1

我之前遇到过 module compiled against API version a but this version of numpy is 9 错误,这为我解决了问题。

【讨论】:

嗨@kwinkunks,谢谢。我试过这个,但它声称已经安装了 1.10.1: bash-3.2$ conda install numpy=1.10.1 获取包元数据:....解决包规范:...... ......... # 所有请求的软件包都已安装。 # package in environment at //anaconda: # numpy 1.10.1 py27_0 defaults 格式似乎搞砸了,抱歉。 我很确定现在是 $PATH 问题,但不确定具体情况。运行 which -a python 我得到 //anaconda/bin//python 后跟 /usr/bin/python,运行 python 我肯定得到 anaconda 版本。但是运行 python 然后导入 numpy 会得到 1.9.2 已修复!在我尝试解决原始问题的过程中,我忘记了我通过 pip 安装了一个 numpy 版本,而 anaconda 正在接收这个版本。接受@kwinkunks 的回答,因为它让我找到了解决方案。谢谢大家。

以上是关于版本升级到 scikit-learn的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu怎么升级到最新版本Ubuntu 14-Ubuntu

nodejs 如何升级到最新版本

KindEdito从3.51升级到4.0版本流程怎么升级?

如何从早期版本升级到Ubuntu 17.04

Mac升级node版本

centos7.2如何升级到centos7.3最新版本