【问题标题】:Version upgrade to scikit-learn版本升级到 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,是的,我试过没有用。不过还是谢谢。

标签: macos python-2.7 numpy scipy scikit-learn


【解决方案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 的回答,因为它让我找到了解决方案。谢谢大家。
猜你喜欢
  • 1970-01-01
  • 2012-08-26
  • 2017-04-01
  • 2020-09-28
  • 2020-06-16
  • 1970-01-01
  • 2015-08-20
  • 2016-02-14
  • 2018-02-17
相关资源
最近更新 更多