【发布时间】:2016-08-16 09:11:15
【问题描述】:
我在 MacBook 上的 Anaconda 2.0.0 (x86_64) 下运行 Python 2.7.11。
几周前,作为让 OpenCV 工作的过程的一部分,我将 numpy 从原来的位置(不幸/愚蠢地我没有记录)降级到 1.7.1。我似乎记得这是必要的,而且我不希望 OpenCV 停止工作,所以我很确定我现在应该将 numpy 留在原处。
但是,今天我发现这已经破坏了我的matplotlib/pylab。当我执行import pylab 时,我得到以下信息:
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
RuntimeError: module compiled against API version 9 but this version of numpy is 7
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
...
...
ImportError: numpy.core.multiarray failed to import
因此,我的问题是:我如何安装(或回滚到)与我现有的numpy 兼容的matplotlib 版本,而不干扰我现有的numpy?
到目前为止,这是我所了解的:基于 SO 上的相关conda 问题,我查看了conda list --revisions matplotlib 的输出,其中包括:
...
2016-03-28 17:16:36 (rev 6)
conda {3.8.3 -> 4.0.5}
conda-env {2.0.1 -> 2.4.5}
numpy {1.8.1 -> 1.7.1}
...
现在我不确定如何解释这一点,但鉴于 numpy 版本号看起来与此处的所有其他条目相比实际上正在下降,这对我来说听起来很有希望,“2016 年 3 月,matplotlib 意识到了这一点可能会退回到其 numpy 依赖项的 早期 版本”。但是,当我要求进行此修订时:
conda install --revision=6 matplotlib
我被告知我已经有了它,它的依赖是numpy 1.8:
Fetching package metadata: ....
# All requested packages already installed.
# packages in environment at /Users/jez/anaconda:
#
matplotlib 1.3.1 np18py27_1 <unknown>
所以从这里我不知道如何继续。我暂时尝试了conda install matplotlib 的一些变化,但它显然想同时弄乱我的numpy,所以我从未按下y。同样清楚的是,我对conda 的了解不够深入,因此非常感谢您的帮助。
【问题讨论】:
标签: python-2.7 numpy matplotlib anaconda conda