3

Windowsマシンだった前のコンピューター(私の前の仕事のコンピューター)を使用している間に、少しプログラムを書きました。さて、友人のアドバイスに基づいて、私は Mac を手に入れましたが、その上で動作するものを手に入れるのに非常に苦労しました。

特に、私のプログラムは pylab (matplotlib の一部) を使用しており、後に ImportError が発生していimport pylabます:

Error: ~/Documents/New folder/Programowanie/Projekt/SimAccents_v2d.py:2: 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pylab.py:1: 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/pylab.py:222: 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/mpl.py:2: 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/axis.py:14: 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/text.py:29: 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/backend_bases.py:47: 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/textpath.py:11: 
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/mathtext.py:61: ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/_png.so, 2): Library not loaded: /opt/X11/lib/libpng15.15.dylib

Python IDLEで試してみimport matplotlibましたが、うまくいきました。どうやら問題はmatplotlibではなくpylabにあります。ただし、試しimport matplotlib.pyplotてみたところ、ほとんど同じエラーが発生しました。これは、それらがmatplotlibの非常に類似したモジュール/部分であるためだと思います。

私はインターネット上でかなりの掘り下げを行い、いくつかの潜在的に役立つものを見つけましたが、結果はより混乱しています. この投稿は私のものと同様の問題のようで、著者は「(バックアップを作成した後に) システムの site-packages フォルダー (/Library/Python/2.7/site-packages) 内の matplotlib フォルダーを削除する」ことで解決しました。これが機能した理由は、おそらく Python が間違った場所でファイルを探しているためだと思います。

これを確認するために、matplotlib のインストール場所を見つける方法を使用しました。

>>> import matplotlib
>>> matplotlib.__file__
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/__init__.pyc'

...そしてmatplotlibのディレクトリの場所:

>>> matplotlib.get_configdir()
'/Uses/stanislawpstrokonski/.matplotlib'

これらのパスを調査したところ、2 番目のパスは .DS_Store (hidden) と fontList.cache の 2 つのファイルのみを含む隠しフォルダーであることがわかりました。ただし、最初のディレクトリは、上記のエラー メッセージの最終的な「問題」ファイルを含むそのディレクトリが存在することを Python が示しているため、もう少し気味が悪いものでした。

>>> os.path.isfile('/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/_png.so')
True

...しかし、私の Mac では ~/Library/Frameworks を見つけることができませんでした。どちらも Finder に表示されず、Mac OS ターミナルでも見つからないようです:

Stanislaws-MacBook-Pro:~ stanislawpstrokonski$ cd ~/Library/Frameworks
-bash: cd: /Users/stanislawpstrokonski/Library/Frameworks: No such file or directory

/Library/Python についてもまったく同じ話です。Python はその存在を確認しますが、Terminal はそれを否定します。ただし、このコードをターミナルに入力すると、結局、パスが存在すると判断されます。

Stanislaws-MacBook-Pro:~ stanislawpstrokonski$ cd /usr/bin; ls -l python2.7
lrwxr-xr-x  1 root  wheel  75 16 Nov 16:30 python2.7 ->  ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7

私がチェックしたもう 1 つのことはLibrary not loaded:、元の ImportError からのパスです。

>>> os.path.isfile('/opt/X11/lib/libpng15.15.dylib')
False

おそらく問題は、このパスが見つからないことですか? これについて私は何をすべきですか?matplotlib は、インストール時にこの種のものを整理するためのものではありませんか?

wxPython と numpy (そして、どうやら pylab と pyplot 以外の matplotlib) が正常に動作しているように見えるのに、pylab が誤動作している理由がわかりません。また、Mac OS X のディレクトリ構造にも当惑していますが、これが問題の原因である可能性はまだあります。もう 1 つの理由は、マシンに Python をインストールしたことですが、Mac OS には既に Python がインストールされていると聞いたことがあります。

この投稿が長くなって申し訳ありませんが、どこに問題があるのか​​ 正確にわからないときは、すべてを書き留めなければならないような気がします. だれか pylab を動作させるのを手伝ってくれませんか? その過程で Mac について教えてくれませんか? 私は非常に感謝しています。

ps 私は Mountain Lion を使用しており、約 2 週間前に Mac を購入しました。

ppsこの人も同様の問題を抱えているようですが、インポートされていないのは別のビットです...

4

1 に答える 1

0

OS Xのmatplotlibでも同様の問題がありました。libpngをインストールするだけです。私はbrew :を使用しましbrew install libpngた。

于 2013-04-08T06:59:42.910 に答える