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この人も同様の問題を抱えているようですが、インポートされていないのは別のビットです...