Создание бинарных дистрибутивов Python для нескольких версий OS X - PullRequest
3 голосов
/ 05 октября 2011

Я пытаюсь собрать приложение на python с бинарными модулями на OS X. Я хочу собрать версии для Snow Leopard и Leopard из Lion. У меня установлен XCode 4 с 10.5 и 10.6 sdks, и я пытался собрать с использованием флага MACOSX_DEPLOYMENT_TARGET, установленного на 10.6. Я получаю сообщение об ошибке от distutils с жалобой на то, что python был собран с другой целью развертывания.

Я попытался создать отдельный двоичный файл python с целью развертывания, установленной на 10.6, а затем использовал virtualenv, чтобы попытаться построить из этого, но virtualenv ожидал каталог lib в каталоге base env, которого там не было.

Я новичок в разработке на Mac и даже не уверен, возможно ли то, что я хочу сделать. Я собираюсь сломаться, и кто-то еще работает со Snow Leopard, чтобы собрать мои дистрибутивы?

Я очень ценю любую помощь.

Ответы [ 2 ]

2 голосов
/ 10 ноября 2012

Я нашел решение, зайдите в /System/Library/Frameworks/Python.framework/Versions/2.7/lib/distutils/sysconfig.py

Перейти к строке 408, в которой написано «поднять DistutilsPlatformError» и добавить «#», чтобы закомментировать эту строку кода ... Это «раскрутит питона»

Вы в основном говорите python: «Не волнуйтесь, это не 10.7, я знаю», в результате могут быть некоторые сбои, но я думаю иначе. Мое очень сложное приложение на python теперь без проблем компилируется на MacOSX 10.8, и, похоже, оно справляется со своей работой, однако QA все еще должен его протестировать.

1 голос
/ 05 октября 2011

Системные Pythons, поставляемые Apple в OS X 10.7, созданы только для 10.7. Самое простое решение - загрузить последнюю версию Python 2.7 или 3.2 64-битный / 32-битный установщик с python.org и использовать его, так как это универсальный двоичный файл, который будет работать на 10.6 или 10.7. Если вы создаете пакет приложений, вам нужно установить копию py2app для него и любых других сторонних пакетов, таких как Distribute (он же easy_install) или pip.

.
...