Как скомпилировать расширения Python для Mac OS X 10.5, в Mac OS X 10.6? - PullRequest
3 голосов
/ 20 мая 2010

Я пытаюсь скомпилировать различные расширения Python (pycrypto, paramiko, subvertpy ...) в Mac OS X 10.6, чтобы они были совместимы с 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» во время настройки

Я использую python2.5 в Mac OS X 10.6 для запуска сборок, например:

$ python2.5 setup.py install

Я также встречал ссылки на /Developer/SDKs/MacOSX10.5.sdk, но я не совсем уверен, как его использовать.

1 Ответ

1 голос
/ 21 мая 2010

Мне удалось заставить distutils поверить, что Python был построен на Leopard, вставив следующий код перед вызовом setup () в setup.py:

# 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, используя python2.5, после установки MACOSX_DEPLOYMENT_TARGET в значение «10.5». Я не могу гарантировать, что он будет работать хорошо, но комплект тестов pycrypto прошел эту сборку на моем Macbook Air под управлением Leopard, так что, похоже, все в порядке.

...