2010-05-20 7 views
3

저는 Mac OS X 10.6에서 다양한 Python 확장 (pycrypto, paramiko, subvertpy ...)을 컴파일하려고합니다. Mac OS X 10.5 및 내장 Python 2.5와 호환 될 것입니다. Mac OS X 10.5를 대상으로하는 제품 설치 프로그램에서.Mac OS X 10.6에서 Mac OS X 10.5 용 Python 확장을 컴파일하려면 어떻게합니까?

저는이 문제를 어떻게 해결할 지 잘 모르겠습니다. 나는 구글에 주위 파고와 설정에 저를 주도, a question here on stackoverflow을 발견 MACOSX_DEPLOYMENT_TARGET = 구축하기 전에 내 환경에서 10.5하지만, 그건 그냥 나에게 오류 준 : 맥 OS X 10.6에

distutils.errors.DistutilsPlatformError: $MACOSX_DEPLOYMENT_TARGET mismatch: now "10.5" but "10.6" during configure

내가 python2.5를 사용하고를 나는 또한 /Developer/SDKs/MacOSX10.5.sdk에 대한 참조를 가로 질러 온

$ python2.5 setup.py install

하지만 난 그것을 사용하는 방법을 정말 확실하지 않다 : 예를 들어, 빌드를 실행합니다. ,

# 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 

그런 pycrypto 아니라 스노우 레오파드 (Snow Leopard)에 기반을 :

+0

Snow Leopard에서도 Python 2.5를 사용합니까? 나는 번들 하나가 2.6이고 2.6으로 2.6에서 작동하는 확장을 빌드 할 수 없을 것이라고 확신한다. – fraca7

+0

빌드를 실행하기 위해 python2.5 실행 파일을 사용하고 있었다. – dOxxx

답변

1

나는 setup.py()에서 설정 호출하기 전에 다음 코드를 삽입하여,의 distutils 파이썬 레오파드에 지어진 믿고 얻을 수 있었다 MACOSX_DEPLOYMENT_TARGET을 "10.5"로 설정 한 후 python2.5를 사용합니다. 필자는 잘 작동 할 것이라고 보장 할 수 없지만 pycrypto의 번들 된 테스트 슈트는 Leopard를 실행하는 Macbook Air에서이 빌드와 함께 전달되었으므로 괜찮습니다.