4

Mac OS X 10.6 でさまざまな python 拡張機能 (pycrypto、paramiko、subvertpy...) をコンパイルして、Mac OS X 10.5 とその組み込みの python 2.5 と互換性があるようにしようとしています。 Mac OS X 10.5 を対象とした製品インストーラー。

どうすればいいのか本当にわかりません。私はGoogleで掘り下げて、stackoverflowで質問を見つけました。これにより、ビルドする前に自分の環境で MACOSX_DEPLOYMENT_TARGET=10.5 を設定することになりましたが、エラーが発生しました:

distutils.errors.DistutilsPlatformError: $MACOSX_DEPLOYMENT_TARGET の不一致: 現在は "10.5" ですが、構成中は "10.6" です

Mac OS X 10.6 で python2.5 を使用してビルドを実行しています。次に例を示します。

$ python2.5 setup.py インストール

/Developer/SDKs/MacOSX10.5.sdk への参照も見つけましたが、それをどのように利用するかはよくわかりません。

4

1 に答える 1

2

setup.py の setup() の呼び出しの前に次のコードを挿入することで、distutils に Python が Leopard 上に構築されていると信じ込ませることができました。

# XXXHACK: make distutils believe that Python was built on Leopard.
from distutils import sysconfig
their_parse_makefile = sysconfig.parse_makefile
def my_parse_makefile(filename, g):
    their_parse_makefile(filename, g)
    g['MACOSX_DEPLOYMENT_TARGET'] = '10.5'
sysconfig.parse_makefile = my_parse_makefile

次に、MACOSX_DEPLOYMENT_TARGET を「10.5」に設定した後、pycrypto は python2.5 を使用して Snow Leopard でうまくビルドされます。うまく動作することは保証できませんが、pycrypto にバンドルされているテスト スイートは、Leopard を実行している私の Macbook Air でこのビルドに合格したので、問題ないようです。

于 2010-05-21T16:35:23.167 に答える