Как создать 64-разрядный Python на OS X 10.6 — ТОЛЬКО 64 бита, никакой Универсальной ерунде

Я просто хочу создать это на своей машине разработки - двоичная установка из Python.org - все еще 32 бита и расширения установки (MySQLdb, например) сводит меня с ума с попыткой выяснить надлежащие флаги для каждого расширения.

Разъяснение: Я НЕ заменял систему Python, я просто установил двоичный файл Python.org в его нормальное место в/Library/..., не/System/Library/....

Все остальное, кажется, создает 64 бита по умолчанию, и Python 2.6.1 по умолчанию составлял 64 бита (прежде чем я заменил его сборкой Python.org, изображающей его, была прямая замена)'

Я просто хочу 64 бита, только создают, который будет работать на моей одной машине без любого хлама.

У кого-либо есть простой ответ?

Большое спасибо, ssteinerX@gmail.com

6
задан Jon Seigel 8 March 2010 в 02:41
поделиться

4 ответа

Если вы случайно используете MacPorts, то это так же просто, как указать вариант, который говорит ему не компилировать Universal, например:

sudo port install python26 -universal

Вы можете просмотреть доступные варианты, используя команду variants:

% port variants python26                                                        
python26 has the variants:
   darwin: Platform variant, selected automatically
   no_tkinter: Disable Tkinter support, which will break IDLE
   ucs4: Enable support for UCS4
   universal: Build for multiple architectures

Как вы видите, по умолчанию на 10. 6 она собирает вариант darwin, который собирает ТОЛЬКО x86_64:

% cd /opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin/
% file python2.6
python2.6: Mach-O 64-bit executable x86_64

Сравните с бинарным питоном по умолчанию Universal:

% file /usr/bin/python
/usr/bin/python: Mach-O universal binary with 3 architectures
/usr/bin/python (for architecture x86_64):      Mach-O 64-bit executable x86_64
/usr/bin/python (for architecture i386):        Mach-O executable i386
/usr/bin/python (for architecture ppc7400):     Mach-O executable ppc

Если вы не используете MacPorts, то я предлагаю вам подумать об этом. Это экономит много времени и душевных страданий при ручной настройке и компиляции всего, а также существует отличный GUI-интерфейс под названием Porticus. Конечно же, все бесплатно и с открытым исходным кодом!

p.s. Никогда не заменяйте и не переименовывайте исходные двоичные файлы системы! Как предлагается в комментариях Ned Daily:

"Либо управляйте доступом к предполагаемому инстанция питона путем изменения поиска порядок в переменной окружения PATH или, если необходимо, использовать абсолютный путь как /opt/local/bin/python2.6".

11
ответ дан 8 December 2019 в 04:52
поделиться

Самое простое решение - это потянуть все , что вам нужно, из MacPorts:

$ sudo port selfupdate
$ sudo port install python26 +no_tkinter -universal py26-mysqldb -universal

, на который установят python2.6, адаптер MySQLdb и необходимые клиентские библиотеки MySQL. Предлагаю добавить вариант no_tkinter, если только вам действительно не нужен tkinter; были некоторые проблемы с MacPorts версией Tk на 10.6.

EDIT: Обратите внимание, что MacPorts Python будет установлен как /opt/local/bin/python2.6. Возможно, вам понадобится настроить оболочку $PATH, чтобы убедиться, что /opt/local/bin находится на ней перед /usr/local/bin и /usr/bin. Если вы хотите, чтобы /opt/local/bin/python ссылался на MacPorts python2.6, сделайте следующее и:

$ sudo port install python_select
$ sudo python_select python26
5
ответ дан 8 December 2019 в 04:52
поделиться

Всегда macports ... sheesh

Вот что я сделал:

~: wget http://python.org/ftp/python/2.6.5/Python-2.6.5.tar.bz2
~: tar xjf Python-2.6.5.tar.bz2
~: cd Python-2.6.5
~: ./configure ./configure 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

Может быть, немного излишне в материалах FLAGS, но это сработало.

5
ответ дан 8 December 2019 в 04:52
поделиться

После того, как вы установили 64-битный Python с помощью методов, описанных выше, я также обнаружил, что это сообщение в блоге Аарона Мейрера полезно для проверки того, что Python действительно установлен как 64-битный. В сообщении также говорится о запуске 64-битного Python вместе с 32-битной установкой, что, как мне кажется, полезно для некоторых целей.

3
ответ дан 8 December 2019 в 04:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: