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! Человек, ты не представляешь, как долго эта проблема меня досадила. Благослови всех вас.
Ответы
Ответ 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
удаление этой настройки и перезапуск исправленной оболочки