AppScript を setup.py でインストール

両者の環境の違いは Xcode のバージョン。問題ないのは 3.2.6 で、ダメなのは 4.0.2。
エラーメッセージを見るとなんか ppc 用のアセンブラが入ってないって怒られてる気がする。って、なんで ppc 用のアセンブラ必用なんだ?
ま、そんなわけでアチコチ調べてみたりしたけどそのものズバリの答えは見つからなかった。でも、どうもアーキテクチャを指定するのSDK を指定するのでいけるんじゃないか?という感じになったのでやってみた。


まずは、AppScript のソースファイル?はココからダウンロードしてきて展開。

paraches-iMac:myTest paraches$ curl -O http://pypi.python.org/packages/source/a/appscript/appscript-1.0.0.tar.gz
paraches-iMac:myTest paraches$ tar -zxvf appscript-1.0.0.tar.gz 

次に setup.py の extra_link_args に MacOSX10.6.sdk のライブラリを加える。(本当にこれが必用かどうかはわからない…)(必要なかった!)

				extra_link_args=[
						'-framework', 'CoreFoundation', 
						'-framework', 'ApplicationServices',
						'-framework', 'Carbon',
						'-L/Developer/SDKs/MacOSX10.6.sdk/usr/lib'],

で、root になってアーキテクチャを「x86_64」に指定してインストールする。

sh-3.2# export ARCHFLAGS="-arch x86_64"
sh-3.2# python setup.py install

これで問題なくビルド&インストールができた!
こんな感じで使えます。

paraches-iMac:appscript-1.0.0 paraches$ python
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from appscript import *
>>> itunes = app("itunes")
>>> itunes.play()
>>> 


あ〜なんか今更だけどもっとスマートな方法が見つかった感じ。(ココで発見。)

sudo env ARCHFLAGS="-arch x86_64" easy_install appscript

これで root になんかならずに sudo でいけるみたい…。