2010-04-28 2 views
0

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

RobsMac Python-2.6.5 $ Sudo сделать установку
[...]
/USR/бен/установка -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/бен/установка -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
копирование сборки/lib.macosx-10,4-x86_64-2.6/_AE.so ->/Пользователи/rob/Library/ Python/2.6/site-packages
копирование build/lib.macosx-10.4-x86_64-2.6/_AH.so ->/Пользователи/rob/Library/ Python/2.6/site-packages
копирование сборки/lib.macosx-10,4-x86_64-2.6/_App.so ->/Users/грабят/Library/ Python/2.6/сайт-пакеты
[...]

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

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

Любые идеи, что не так?

спасибо, Роб

ответ

2

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

[Установка]
install_lib = ~/Library/Python/$ py_version_short/сайт-пакеты
install_scripts = ~/bin

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

Роб

0

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

1

Как правило, установка 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

Я знаю по умолчанию OS X в Python, и менеджеры пакетов, но в моем случае я хочу построить из источника. (Я строю программное обеспечение с использованием Python, и мне нужна версия, с которой я полностью контролирую.) Я набрал «./configure». Как я уже сказал выше, он помещает большинство в/usr/local, который является префиксом по умолчанию для OS X. Это просто файлы .so, которые отправились куда-то еще. Некоторые материалы с открытым исходным кодом не легко компилируются на Mac, но с Python он работал так же легко, как и на Linux, а на сайте Python исходный tarball для Linux, Unix, OS X. Я рассмотрю еще несколько перед тем, как попробовать MacPorts. –

+0

@Rob, я до сих пор не понимаю, почему вы не можете использовать версию Python для системы. Знаете ли вы, что версия Python для Mac также имеет «easy_install», с помощью которой вы можете установить все необходимые вам пакеты? –

+0

Я хочу улучшения, которые поставляются с версией 2.6.5 (у моей OS X есть 2.6.2). Мне также нужна такая же версия в моей разработке env (laptop), как у меня на реальном веб-сервере. В-третьих, у меня был опыт работы с большими проектами Python, где было полезно или необходимо изменить параметры компиляции. В-четвертых, я изучаю устных переводчиков и иногда хочу гадать в коде C. –

 Смежные вопросы

  • Нет связанных вопросов^_^