fc2ブログ
MaxOSX10.5.3(Loeopard)にmatplotlib0.98.2をインストールする
matplotlibをインストールしようと思うと、結構事前に必要なものが多く、それはREADMEなりをご参照ください。numpy,libpng,zlib,freetypeなどが必要です。
必要なものをそろえて、buildしようとするも、なぜかエラーが出てしまいます。

ld: in /opt/local/lib/libJPEG.dylib, file is not of required architecture for architecture ppc
collect2: ld returned 1 exit status
ld: warning, duplicate dylib /opt/local/lib/libz.1.dylib
lipo: can't open input file: /var/folders/tu/tu2X2sjGHXeuVHVC+zSba++++TI/-Tmp-//cc68rYIJ.out (No such file or directory)
error: command 'g++' failed with exit status 1

なに言ってるんだと思いつつも、どうやら、ライブラリがuniversal binaryでないことが原因の模様。いろいろ調べるとよい情報があって、
http://ipython.scipy.org/moin/MatplotlibOSXBuildNotes
このページで、libpngとfreetypeのユニバーサルバイナリを作ってmatplotlibをインストールしています。
ただ、なぜか私の環境ではうまくいかず、頭にきたので結局、一時的に/optをリネームするという強硬手段に出ました。なんか、かっこ悪いですが。。。
sudo mv opt opt_bak
これで、opt以下のライブラリが読めなくなり、あっさりうまくいきました。
ちなみに、ユニバーサルなバイナリかどうかは、fileというコマンドでわかります。

/$ file /usr/local/lib/libpng.a
/usr/local/lib/libpng.a: Mach-O universal binary with 4 architectures
/usr/local/lib/libpng.a (for architecture i386): current ar archive random library
/usr/local/lib/libpng.a (for architecture ppc): current ar archive random library
/usr/local/lib/libpng.a (for architecture ppc64): current ar archive random library
/usr/local/lib/libpng.a (for architecture x86_64): current ar archive random library

/$ file /opt/local/lib/libpng.a
/opt/local/lib/libpng.a: current ar archive random library

いろいろもがいていると、いいものも見つかるときもありまして、libpngとlibjpegをぼけぼけしながらインストールできる、
http://ethan.tira-thompson.com/Mac%20OS%20X%20Ports.html
こんなものがありました。

Mac相変わらず、内部的にすこし複雑ですよねー。
スポンサーサイト



テーマ:フリーソフト - ジャンル:コンピュータ

【2008/06/27 20:32】 | Python | トラックバック(0) | コメント(0) | page top↑
MacOSX10.5でのPython
MacOSX10.5から、Python2.5.1がデフォルトでついてきて便利だーと喜んでいたのですが、Pythonの数値計算ライブラリのnumpy-1.1.0をインストールしようと思ったら、
numpy requires System Python 2.5 to install.
と、途中で言われてる始末。「はぁ?入ってるでしょ?」と半ギレつつも調べたら、使っていたMac用のパッケージnumpy-1.1.0-py2.5-macosx10.5.dmgは、Apple社からの出荷時にバンドルされるPythonには対応していないことが判明。ちなみに、これはapple-pythonとか言われているらしく、
/System/Library/Frameworks/Python.framework
以下にインストールされています。
2.5.2も出ていることだし、そっちに切り替えるかと思い、python.orgからバイナリをダウンロードしてインストールすると、
/Library/Frameworks/Python.framework/
に、入ります。
今まで入れたパッケージを入れ直さないとだめかと思うと少し気が思いです。
以下、お引っ越し作業(なんかもっと楽な方法ないのかな?)
/usr/lib/python2.5の張り替え
/usr/lib$ sudo rm python2.5
/usr/lib$ sudo ln -s /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/ python2.5

/usr/binでのリンクの張り替え
/usr/bin$ sudo rm python
/usr/bin$ sudo ln -s /Library/Frameworks/Python.framework/Versions/2.5/bin/python python
/usr/bin$ sudo rm python-config
/usr/bin$ sudo ln -s /Library/Frameworks/Python.framework/Versions/2.5/bin/python-config python-config
/usr/bin$ sudo rm python2.5
/usr/bin$ sudo ln -s /Library/Frameworks/Python.framework/Versions/2.5/bin/python2.5 python2.5
/usr/bin$ sudo rm python2.5-config
/usr/bin$ sudo ln -s /Library/Frameworks/Python.framework/Versions/2.5/bin/python2.5-config python2.5-config
/usr/bin$ sudo rm pythonw
/usr/bin$ sudo ln -s /Library/Frameworks/Python.framework/Versions/2.5/bin/pythonw pythonw
/usr/bin$ sudo rm pythonw2.5
/usr/bin$ sudo ln -s /Library/Frameworks/Python.framework/Versions/2.5/bin/pythonw2.5 pythonw2.5

おおーっと、/usr/local/binにリンクができている。/usr/binのは、消せばよかっただけか?
ま、いいや。
numpyのインストールにはあっさり成功。引き続き、ipythonなどをインストール。なかなか手間がかかります。

テーマ:プログラミング - ジャンル:コンピュータ

【2008/06/18 18:27】 | Python | トラックバック(0) | コメント(0) | page top↑
Pythonでリストのスライス
久しぶりに、Pythonのお話。といっても、超短編。
リストのスライスはよく知られた便利な機能です。

In [3]: a = [1,2,3,4,5]
In [8]: a[1:]
Out[8]: [2, 3, 4, 5]
は、indexが1から最後までを切り出しますし、
a[1:2]ならば、1個目から2個目の手前までなので、ここでは2がかえります。

それはさておき、実はスライスに代入することも出来ます。
In [9]: a[1:] = [5,4,3,2]
In [10]: a
Out[10]: [1, 5, 4, 3, 2]
こんな具合。
これを使えば、要素の削除や挿入も思いのまま。
いやー、やっぱりPython便利です。

テーマ:プログラミング - ジャンル:コンピュータ

【2008/06/07 12:37】 | Python | トラックバック(0) | コメント(0) | page top↑
| ホーム |