Скомпилируйте Python 2.5.5 на OS X 10.6 - PullRequest
0 голосов
/ 29 сентября 2010

Я бы хотел установить Python 2.5.5 для использования с приложениями Google, но мне было очень трудно отследить инструкции, как это сделать. Я думаю, что следующее может работать, но мне было интересно, если кто-нибудь успешно его построил?

./configure --prefix=/usr/local/python2.5.5 MACOSX_DEPLOYMENT_TARGET=10.6 --enable-framework --with-universal-archs="64-bit" CFLAGS="-arch x86_64" LDFLAGS="-arch x86_64"

~: make -j6

~: sudo make install

Любая помощь приветствуется!

Ответы [ 4 ]

1 голос
/ 29 сентября 2010

Вы должны установить его через Fink , что делает этот кусок пирога. После того, как он установлен ...

$ fink install python25

У Fink больше пакетов, чем у MacPorts.

1 голос
/ 29 сентября 2010

Вы должны установить его через MacPorts , что делает этот кусок пирога.После того, как он установлен ...

$ sudo port install python25
0 голосов
/ 29 сентября 2010

Python 2.5 не собирается правильно из коробки на Mac OS X 10.6. (Тем не менее, он собирает OK как на 10.5 или 10.4.) Существует по крайней мере одно исправление конфигурации, которое необходимо перенести из более поздних Pythons. И вам нужно использовать gcc-4.0, а не -4.2. После того, как вы извлекли источник:

cd ./Python-2.5.5/
cat >patch-configure-for-10-6.patch <<EOF
--- configure.O 2008-12-13 06:13:52.000000000 -0800
+++ configure   2010-09-29 10:16:05.000000000 -0700
@@ -2039,7 +2039,11 @@
   # disables platform specific features beyond repair.
   # On Mac OS X 10.3, defining _POSIX_C_SOURCE or _XOPEN_SOURCE
   # has no effect, don't bother defining them
-  FreeBSD/4.* | Darwin/[6789].*)
+  FreeBSD/4.*)
+    define_xopen_source=no;;
+  Darwin/[6789].*)
+    define_xopen_source=no;;
+  Darwin/1[0-9].*)
     define_xopen_source=no;;
   # On AIX 4 and 5.1, mbstate_t is defined only when _XOPEN_SOURCE == 500 but
   # used in wcsnrtombs() and mbsnrtowcs() even if _XOPEN_SOURCE is not defined
EOF
patch < patch-configure-for-10-6.patch
export CC=/usr/bin/gcc-4.0
./configure --prefix=/usr/local --enable-framework MACOSX_DEPLOYMENT_TARGET=10.6
make
sudo make install

Затем существуют различные менее очевидные проблемы сборки, такие как сторонние библиотеки, которые необходимы для того, чтобы все стандартные библиотечные модули собирались и работали так, как ожидалось - GNU readline и bsddb приходят на ум - так что нет никакой гарантии, что вы победили ' не сталкивайтесь с другими проблемами.

$ python2.5
Python 2.5.5 (r255:77872, Sep 29 2010, 10:23:54) 
[GCC 4.0.1 (Apple Inc. build 5494)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Module readline not available.
>>> 

Вы можете попробовать использовать скрипт сборки установщика в дереве исходных текстов (в Mac/BuildScript/), но, вероятно, для корректной работы на 10.6 потребуется исправление.

Несмотря на то, что нет официального установщика python.org для 2.5.5 (в котором есть только исправления безопасности), существует установщик OS X для 2.5.4 , который отлично работает на 10.6. Или используйте поставляемую Apple 2.5.4. Или попробуйте MacPorts. Будет хорошо, когда GAE поддерживается в текущих версиях Python.

0 голосов
/ 29 сентября 2010

Предполагая, что вы работаете с ОС 10.6, на терминале, если вы наберете

% python<tab>

Терминал должен показать вам все элементы python* на вашем PATH. Как предложено @ philipp , Python 2.5 и Python 2.6 установлены по умолчанию. Вы можете увидеть в списке:

python2.5
python2.6

Вы также увидите запись, которая просто python. Это тот, который будет использоваться по умолчанию, когда вы вызываете команду python в командной строке. Чтобы увидеть версию этой версии по умолчанию, либо запустите ее, введя python в командной строке и запомните текст, напечатанный при запуске, либо выполните команду which python, чтобы увидеть абсолютный путь для этого исполняемого файла.

Исполняемые файлы в PATH в OS X управляются ссылками, поэтому для просмотра фактического местоположения

ls -lha `which python`
ls -lha `which python2.5`
ls -lha `which python2.6`

Обратите внимание, что backtics приведет к выполнению команды which и вставит результат в команду ls.

Наконец, вы можете выбрать версию Python, которая используется по умолчанию, с помощью команды python_select. У меня нет большого опыта с этим, так как я обычно управляю своим доступом к Python через свои собственные программные ссылки или псевдонимы оболочки.

При всем этом, если вы собираетесь устанавливать много пакетов для целей разработки, советуйте @ Dave Pirotte попробовать. Используя MacPorts или fink , вы получите новую установку Python (и любые другие необходимые вам пакеты) вне системной установки Python. Это может быть удобно, если вам нужно внести много изменений, и если вы собираетесь серьезно позаботиться о здоровье вашей установки Python, легче очистить планшет и начать все сначала, если вы не возитесь с системным Python по умолчанию .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...