Ваше запитання вже три роки, і є деякі деталі, не висвітлені в інших відповідях:
Більшість людей, яких я знаю, використовують 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-еліксир та py26-еліксир, не версія py27. У таких випадках у вас є:
pip-2.7 install - еліксир користувача
(переконайтеся, що ви завжди вводите pip- (версія))
Це створить додаткову бібліотеку Python у вашому домашньому режисері. Так, Python буде працювати з більш ніж одним розташуванням бібліотеки: одним, яким керує MacPorts, і місцевим користувачем для всього, що відсутнє в MacPorts.
Тепер зауважте, що я віддаю перевагу pip над easy_install. Є вагома причина, що вам слід уникати setuptools та easy_install. Ось гарне пояснення, і я намагаюся утримуватися від них. Однією з дуже корисних особливостей pip є перелік усіх модулів (разом з їх версіями), які ви встановили разом із MacPorts, easy_install та самим pip:
pip-2.7 заморожування
Якщо ви вже почали використовувати easy_install, не хвилюйтесь, pip може розпізнати все, що вже було зроблено easy_install, і навіть оновити встановлені з ним пакети.
Якщо ви розробник, слідкуйте за virtualenv для контролю різних налаштувань та комбінацій версій модулів. В інших відповідях вже згадується, що поки що не згадується - це модуль Tox , інструмент для перевірки правильності встановлення вашого пакета з різними версіями Python.
Хоча у мене зазвичай немає конфліктів між версіями, мені подобається мати віртуаленти, щоб створити чисте середовище та отримати чітке уявлення про залежність моїх пакетів. Таким чином я ніколи не забуваю будь-які залежності в моїй 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
Додайте токсику поверх цього, і ваші програми повинні бути справді портативними