Вашему вопросу уже исполнилось три года, и есть некоторые детали, не охваченные в других ответах:
Большинство людей, которых я знаю, используют HomeBrew или MacPorts , я предпочитаю MacPorts из-за его чистого среза среды Mac OS X по умолчанию и моих настроек разработки. Просто переместите папку / opt и протестируйте свои пакеты в обычной пользовательской среде Python
MacPorts переносим только в Mac, но с помощью easy_install или pip вы узнаете, как настроить вашу среду на любой платформе (Win / Mac / Linux / Bsd ...). Кроме того, он всегда будет более актуальным и с большим количеством пакетов
Я лично позволил MacPorts обрабатывать мои модули Python, чтобы все обновлялось. Как и любой другой менеджер пакетов высокого уровня (то есть: apt-get), он намного лучше для тяжелой работы модулей с большим количеством бинарных зависимостей. Я бы не смог построить свои привязки Qt (PySide) с помощью easy_install или pip. Qt огромен и требует много времени для компиляции. Как только вы захотите пакет Python, которому нужна библиотека, используемая не программами Python, постарайтесь избегать easy_install или pip
В какой-то момент вы обнаружите, что в MacPorts отсутствуют некоторые пакеты. Я не верю, что MacPorts когда-нибудь даст вам весь CheeseShop . Например, недавно мне понадобился модуль Elixir , но MacPorts предлагает только py25-elixir и py26-elixir, а не версию py27. В таких случаях у вас есть:
pip-2.7 install --user elixir
(убедитесь, что вы всегда набираете pip- (версия))
Это создаст дополнительную библиотеку Python в вашей домашней директории. Да, Python будет работать с более чем одним местоположением библиотеки: одно управляется MacPorts, а локальное - для всего, что отсутствует в MacPorts.
Теперь обратите внимание, что я предпочитаю pip, а не easy_install. Есть веская причина, по которой вам следует избегать setuptools и easy_install. Вот хорошее объяснение , и я стараюсь держаться подальше от них. Одна очень полезная функция pip - это предоставление списка всех модулей (вместе с их версиями), которые вы установили с MacPorts, easy_install и самого pip:
pip-2.7 freeze
Если вы уже начали использовать easy_install, не беспокойтесь, pip может распознать все, что уже было сделано с помощью easy_install, и даже обновить пакеты, установленные с ним.
Если вы разработчик, следите за virtualenv для управления различными настройками и комбинациями версий модулей. В других ответах уже упоминалось об этом, но пока не упоминается модуль Tox , инструмент для проверки правильности установки вашего пакета с различными версиями Python.
Хотя обычно у меня нет конфликтов версий, мне нравится иметь virtualenv, чтобы настроить чистую среду и получить четкое представление о зависимостях моих пакетов. Таким образом, я никогда не забуду никаких зависимостей в моем файле setup.py
Если вы выбираете MacPorts, помните, что несколько версий одного и того же пакета больше не выбираются, как старый стиль Debian с дополнительным пакетом python_select (он все еще существует для совместимости). Теперь у вас есть команда select, чтобы выбрать, какая версия Python будет использоваться (вы даже можете выбрать установленные Apple):
$ port select python
Available versions for python:
none
python25-apple
python26-apple
python27 (active)
python27-apple
python32
$ port select python python32
Добавьте к нему токсины, и ваши программы должны быть действительно переносимыми