Я просто хочу создать это на своей машине разработки - двоичная установка из Python.org - все еще 32 бита и расширения установки (MySQLdb, например) сводит меня с ума с попыткой выяснить надлежащие флаги для каждого расширения.
Разъяснение: Я НЕ заменял систему Python, я просто установил двоичный файл Python.org в его нормальное место в/Library/..., не/System/Library/....
Все остальное, кажется, создает 64 бита по умолчанию, и Python 2.6.1 по умолчанию составлял 64 бита (прежде чем я заменил его сборкой Python.org, изображающей его, была прямая замена)'
Я просто хочу 64 бита, только создают, который будет работать на моей одной машине без любого хлама.
У кого-либо есть простой ответ?
Большое спасибо, ssteinerX@gmail.com
Если вы случайно используете 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".
Самое простое решение - это потянуть все , что вам нужно, из 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
Всегда 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, но это сработало.
После того, как вы установили 64-битный Python с помощью методов, описанных выше, я также обнаружил, что это сообщение в блоге Аарона Мейрера полезно для проверки того, что Python действительно установлен как 64-битный. В сообщении также говорится о запуске 64-битного Python вместе с 32-битной установкой, что, как мне кажется, полезно для некоторых целей.