我在MacBook上的Anaconda 2.0.0(x86_64)下運行Python 2.7.11。幾個星期前,作爲獲得OpenCV工作流程的一部分,我將它從任何地方(不幸地/愚蠢地我沒有記錄)降級到了1.7.1。我似乎記得這是必要的,我不希望OpenCV停止工作,所以我很確定我現在應該離開numpy
。在Anaconda修復matplotlib/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
我的問題,因此,是:我怎麼安裝(或回滾到)一個版本的matplotlib
這是我現有的numpy
,兼容不干擾我現有的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
以外深度,所以非常感謝你的幫助。
謝謝,就是這樣!對我來說有效的是指定'numpy'依賴的版本,但未指定'matplotlib'版本。 'conda'然後計算出並報告了以下變化:'matplotlib:1.3.1-np18py27_1 - > 1.3.1-np17py27_0' – jez