2016-04-22 2 views
5

Я запускаю Python 2.7.11 под Anaconda 2.0.0 (x86_64) на MacBook.исправление matplotlib/numpy зависимость ад в Anaconda

Несколько недель назад, как часть процесса работы с 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 

Мой вопрос, поэтому: как я могу установить (или откат к) версии matplotlib, который совместим с моим существующим numpy, без мешая мой существующий numpy?

Вот где у меня до сих пор: на основе соответствующих conda вопросов на SO, я посмотрел на выходе 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 года matplotlib понял, что он может вернуться к более ранней версии его нулевой зависимости от ». Однако, когда я прошу этого пересмотра:

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

Смежные вопросы