Подтвердить что ты не робот

Import matplotlib.pyplot дает ImportError: dlopen (...) Библиотека не загружена libpng15.15.dylib

Я знаю, что этот тот же вопрос был задан раньше. Я выполнил инструкции, приведенные в ответе, и это не решило мою проблему ( и у меня недостаточно репутации, чтобы просто прокомментировать Q или в этом потоке). Во всяком случае, вот что происходит:

Я пытаюсь сделать:

import matplotlib.pyplot

И взамен я получаю:

Traceback (most recent call last):
  File "/Users/russellrichie/anaconda/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 3032, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-3-eff513f636fd>", line 1, in <module>
    import matplotlib.pyplot as plt
  File "/Users/russellrichie/anaconda/lib/python2.7/site-packages/matplotlib/pyplot.py", line 27, in <module>
    import matplotlib.colorbar
  File "/Users/russellrichie/anaconda/lib/python2.7/site-packages/matplotlib/colorbar.py", line 34, in <module>
    import matplotlib.collections as collections
  File "/Users/russellrichie/anaconda/lib/python2.7/site-packages/matplotlib/collections.py", line 27, in <module>
    import matplotlib.backend_bases as backend_bases
  File "/Users/russellrichie/anaconda/lib/python2.7/site-packages/matplotlib/backend_bases.py", line 56, in <module>
    import matplotlib.textpath as textpath
  File "/Users/russellrichie/anaconda/lib/python2.7/site-packages/matplotlib/textpath.py", line 22, in <module>
    from matplotlib.mathtext import MathTextParser
  File "/Users/russellrichie/anaconda/lib/python2.7/site-packages/matplotlib/mathtext.py", line 63, in <module>
    import matplotlib._png as _png
ImportError: dlopen(/Users/russellrichie/anaconda/lib/python2.7/site-packages/matplotlib/_png.so, 2): Library not loaded: libpng15.15.dylib
  Referenced from: /Users/russellrichie/anaconda/lib/python2.7/site-packages/matplotlib/_png.so
  Reason: image not found

Моя версия Python:

2.7.7 |Anaconda 2.0.1 (x86_64)| (default, Jun  2 2014, 12:48:16) [GCC 4.0.1 (Apple Inc. build 5493)]

EDIT:

Предложение cel сработало! Я просто попробовал "conda remove matplotlib", "pip install matplotlib", а затем "conda install matplotlib" и presto! Человек, ты не представляешь, как долго эта проблема меня досадила. Благослови всех вас.

4b9b3361

Ответ 1

Некоторые пакеты python динамически связывают динамические библиотеки c. После обновления одной из этих библиотек ссылки могут сломаться и дать вам странные сообщения об ошибках в отношении недостающих динамических библиотек, как видно из сообщения об ошибке в вопросе.

В принципе, после обновления собственной библиотеки иногда вам также приходится перестраивать пакеты python (здесь matplotlib).

Вышеприведенное утверждение верно в целом. Если вы используете conda в качестве вашего дистрибутива python, то обычно менее сложны:

Для пакетов расширения conda также поддерживаются требуемые библиотеки c. Пока вы используете только conda install и conda update для установки этих пакетов, вы не должны сталкиваться с этими проблемами.

Для numpy, scipy, matplotlib и многих других я предлагаю попробовать conda search <library name>, чтобы увидеть, есть ли рецепт conda, который соответствует вашим потребностям. Для большинства пользователей conda install <library name> будет лучшим вариантом, чем pip install.

Чтобы убедиться, что установлена ​​только версия conda, вы можете сделать

conda remove matplotlib
pip uninstall matplotlib
conda install matplotlib

Впоследствии эта проблема больше не должна появляться.

Ответ 2

Я столкнулся с этой проблемой. Я обновил свой Anaconda-Navigator, и в следующий раз, когда я открыл проект с matplotlib.pyplot, у меня возникла аналогичная проблема. Что для меня работало:

conda install libpng

Ответ 3

У меня была эта проблема, но это было потому, что я установил

export DYLD_LIBRARY_PATH = "/Пользователи/charlesmartin14/anaconda/lib": $DYLD_LIBRARY_PATH

удаление этой настройки и перезапуск исправленной оболочки