2016-04-22 9 views
5

MacBookでAnaconda 2.0.0(x86_64)でPython 2.7.11を実行しています。Anacondaでmatplotlib/numpyの依存関係を修正する

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の私の深さから出ているので、本当にあなたの助けに感謝します。

答えて

6

conda installコマンドで、任意のライブラリの正確なバージョンを指定できます。たとえば、次のようになります。

$ conda install numpy=1.7.1 matplotlib=1.3 

バージョンに互換性がない場合は、互換性がないことを正確に指定するエラーが表示されます。

+0

ありがとうございました!私のために働いたのは 'numpy'依存のバージョンを指定することでしたが、' matplotlib'バージョンは指定しないでください。 'conda'は次のような変更を見つけて報告しました:' matplotlib:1.3.1-np18py27_1 - > 1.3.1-np17py27_0' – jez

関連する問題