Использование шаблонов Python для Xcode, у меня есть простой проект, работающий на одной машине, и неудача на двух других, по разным причинам. Провал я решил, что даже если main.m имеет:Как Xcode выбирает, какой Python запускать?
Py_SetProgramName("/usr/bin/python");
Действительное работает Python, как видно из main.py с этим:
import sys
print sys.version
отличается. И проблема в том, что у этого другого Python не установлен objc. Поэтому возникает вопрос: не очистка моей машины, как я могу направить Xcode для использования системы Python?
Edit:
Это проблема, которая, кажется, что это тривиально, но это не так. Похоже, что, когда я указываю Mac OS X 10.5 как базовый SDK, Xcode ссылается на эту Python.framework, как я вижу, дважды щелкнув значок в Linked Frameworks в проекте Xcode.
Каждая версия в Python.framework имеет пару ключ/значение в своем Info.plist: CFBundleExecutableName/Python. К счастью (для судебной экспертизы) этот Python в версии 2.5 запускает 2.6.1! Однако, печатая sys.version (от main.py) или отслеживая загрузчик (делая экспорт DYLD_PRINT_LIBRARIES = 1), я вижу, что приложение PyObjC фактически запускает Python 2.5.4.
Строка выше с Py_SetProgramName .. не имеет значения --- она может быть прокомментирована, и все работает нормально.
Итак, похоже, что Python.framework управляет запуском Python, он не делает этого так, как я ожидал, и его можно контролировать с помощью процедуры инициализации, которая непрозрачна, поскольку она контролируется Apple , Кажется, лучший способ «контролировать» ситуацию - изменить базовый SDK.