web-dev-qa-db-ja.com

import matplotlib.pyplotはImportErrorを発生させます:dlopen(…)ライブラリがロードされていませんlibpng15.15.dylib

これとまったく同じ質問が以前に尋ねられたことを認識しています。 そこに記載されている説明に従っていたのですが、問題を解決できませんでした(そして、そのスレッドのQまたはAについてコメントします)。とにかく、これが起こっていることです:

私はやろうとします:

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)]

編集:

セルの提案が機能しました! 「conda remove matplotlib」、「pip install matplotlib」、「conda install matplotlib」を試してみました。この問題がどれほど長く私を悩ませてきたか、あなたには分かりません。皆さんを祝福してください。

22
Russell Richie

一部のpythonパッケージはネイティブのCライブラリに対して動的にリンクします。これらのライブラリのいずれかを更新すると、リンクが壊れ、動的ライブラリが見つからないという奇妙なエラーメッセージが表示される場合があります。質問。

基本的に、ネイティブライブラリの更新後、pythonパッケージ(ここではmatplotlib)も再構築する必要がある場合があります。

上記の説明は一般的に当てはまります。 pythonディストリビューションとしてcondaを使用している場合、通常はそれほど複雑ではありません。

拡張パッケージの場合、condaは必要なcライブラリも保持します。これらのパッケージのインストールにconda installconda updateのみを使用している限り、これらの問題が発生することはありません。

numpyscipymatplotlibなどの場合は、最初にconda search <library name>を試して、自分に一致するcondaレシピがあるかどうかを確認することをお勧めしますニーズ。ほとんどのユーザーにとって、conda install <library name>pip installよりも優れたオプションです。

condaのバージョンのみがインストールされていることを確認するには、次のようにします

conda remove matplotlib
pip uninstall matplotlib
conda install matplotlib

その後、この問題は発生しなくなります。

21
cel

私もこの問題に遭遇しました。 Anaconda-Navigatorを更新しましたが、次にmatplotlib.pyplotでプロジェクトを開いたときに、同様の問題が発生しました。私のために働いたのは:

conda install libpng
2
ricopella

私はこの問題を抱えていましたが、それは

export DYLD_LIBRARY_PATH = "/ Users/charlesmartin14/anaconda/lib":$ DYLD_LIBRARY_PATH

この設定を削除してシェルを再起動すると修正されました

1
Charles