Как мне остановить установку Python на Mac OS X от размещения вещей в моем домашнем каталоге? - PullRequest
0 голосов
/ 28 апреля 2010

Я пытаюсь установить Python из исходного кода на моем Mac. (OS X 10.6.2, Python-2.6.5.tar.bz2) Я делал это раньше, и это было легко, но по какой-то причине, на этот раз после ./configure и make, sudo make install ставит некоторые вещи в моем домашнем каталоге, а не в / usr / local / ... где я ожидаю. .Py файлы в порядке, но не .so файлы ...

RobsMac Python-2.6.5 $ sudo make install
[...]
/ usr / bin / install -c -m 644 ./Lib/anydbm.py /usr/local/lib/python2.6
/ usr / bin / install -c -m 644 ./Lib/ast.py /usr/local/lib/python2.6
/ usr / bin / install -c -m 644 ./Lib/asynchat.py /usr/local/lib/python2.6
[...]
работает build_scripts
работает install_lib
Создание / Пользователи / Роб / Библиотека / Python
создание /Users/rob/Library/Python/2.6
создание /Users/rob/Library/Python/2.6/site-packages
копирование build / lib.macosx-10.4-x86_64-2.6 / _AE.so -> / Users / rob / Library / Python / 2.6 / сайт-пакеты
копирование build / lib.macosx-10.4-x86_64-2.6 / _AH.so -> / Users / rob / Library / Python / 2.6 / сайт-пакеты
копирование build / lib.macosx-10.4-x86_64-2.6 / _App.so -> / Users / rob / Library / Python / 2.6 / сайт-пакеты
[...]

Позже это вызывает импорт, который требует сбоя этих .so файлов За пример ...

RobsMac Python-2.6.5 $ python
Python 2.6.5 (r265: 79063, 28 апреля 2010 г., 13:40:18)
[GCC 4.2.1 (Apple Inc., сборка 5646) (точка 1)] на Дарвине
Введите «помощь», «авторское право», «кредиты» или «лицензия» для получения дополнительной информации.
>>> импорт zlib
Traceback (последний вызов был последним):
Файл "", строка 1, в
ImportError: нет модуля с именем zlib

Есть идеи, что не так?

спасибо, Роб

Ответы [ 3 ]

2 голосов
/ 28 апреля 2010

Doh. Я ответил на свой вопрос. Недавно я создал файл ~ / .pydistutils.cfg, по какой-то глупой причине. Я забыл удалить этот файл. Это содержимое было:

[установить]
install_lib = ~ / Library / Python / $ py_version_short / site-packages
install_scripts = ~ / bin

make install вызывает setup.py, и этот файл переопределяет нормальное поведение setup.py.

Роб

1 голос
/ 28 апреля 2010

В общем, установка Python (или чего-либо непосредственно из исходного кода), когда он уже доступен в вашей системе или когда есть менеджеры пакетов, которые установят его для вас, не очень хорошая идея. Я настоятельно рекомендую вам не устанавливать Python вручную ... Mac OS X 10.6 Snow Leopard поставляется с Python 2.6 из коробки; если вы хотите более новую версию Python 2.6, вам следует установить MacPorts и использовать:

sudo port install python26 python_select

Затем можно использовать python_select для переключения между версией системы и версией MacPort.

Если вы решили установить вручную из источника, однако, способ сделать это - запустить "make distclean" (или разархивировать код отдельно), а затем запустить "./configure --help" для полный список параметров конфигурации. Возможно, что в Mac OS X по умолчанию используется что-то отличное от / usr / local, и в этом случае вы можете принудительно установить его в этом месте, вызвав configure с помощью «./configure --prefix = / usr / local».

0 голосов
/ 28 апреля 2010

Вы проверили ожидаемые параметры или переменные? Вероятно, есть переменная make, которую вы можете использовать для переопределения этого поведения. В любом случае, вы пробовали MacPorts ? Это может быть лучшим решением для того, чего вы пытаетесь достичь.

...