Рекомендации по разработке Python для Mac? - PullRequest
8 голосов
/ 02 марта 2009

Я купил бюджетный MacBook около месяца назад и, наконец, приступил к настройке его для Python. До сих пор я выполнял большую часть своей работы с Python в Windows, и я нахожу, что выбор для OS X немного устрашает. Похоже, что для разработки на Python есть как минимум пять вариантов:

  • «Фондовый» Apple Python
  • MacPython
  • Финк
  • MacPorts
  • ролл-свой собственный из-источника

Я все еще в основном разрабатываю для 2.5, поэтому стандартный Python хорош с точки зрения функциональности. То, что я хочу знать, это: почему я должен выбирать одно из другого?

Обновление: Чтобы уточнить, я ищу обсуждение различных вариантов, а не ссылки на документацию. Я пометил это как вопрос Вики сообщества, так как не думаю, что есть «правильный» ответ. Спасибо всем, кто уже прокомментировал их понимание.

Ответы [ 11 ]

9 голосов
/ 02 марта 2009

Одно преимущество, которое я вижу при использовании «стандартного» Python, который входит в Mac OS X, состоит в том, что он делает развертывание на других компьютерах Mac простым. Я не знаю, каков ваш сценарий развертывания, но для меня это важно. Мой код должен работать на любом количестве компьютеров Mac на работе, и я стараюсь минимизировать объем работы, необходимой для запуска моего кода на всех этих системах.

4 голосов
/ 02 марта 2009

Я бы настоятельно рекомендовал использовать MacPorts с Porticus для управления установкой Python. Чтобы собрать все, нужно время, но преимущество в том, что все, что вы создаете самостоятельно, будет построено из одних и тех же библиотек, поэтому вам не придется возиться со статически связанными общими объектами и т. Д., Если вы хотите, чтобы ваш Python работал с Apache, PostgreSQL и т. д.

Если вы решите пойти по этому пути, не забудьте установить порт python_select и использовать его, чтобы ваша система использовала Python, установленный из MacPorts.

В качестве дополнительного бонуса, у MacPorts есть пакеты для большинства яиц Python основного потока, поэтому, если вы хотите, чтобы MacPorts держал вас в курсе последних версий всего этого:)

3 голосов
/ 06 марта 2009

Как насчет EPD от Enthought? Да, он большой, но это сборка фреймворка и включает в себя такие вещи, как встроенный wxPython, vtk, numpy, scipy и ipython.

3 голосов
/ 02 марта 2009

Зависит от того, для чего вы используете python. Если вы используете функциональность MacOS и такие вещи, как PyObjC, вы, вероятно, лучше всего используете MacPython или Python, предоставляемый Apple.

Я использую Python на своем Mac в основном для разработки серверных приложений, которые позже будут работать на коробках FreeBSD и Linux. Для этого я использовал Fink Python в течение нескольких лет и с тех пор, как MacPorts Python. С помощью портов Mac легко добавить необходимые модули c (например, драйвер базы данных и т. Д.). Также легко хранить две версии Python (в моем случае 2.5 и 2.6).

Я использовал «скомпилировать свой собственный» Python для тестирования Python до 3.0, но обычно я нахожу, что управление зависимостями от модулей c затруднительно, если это делается вручную.

Благодаря easy_install установка чистых модулей Python выполняется быстро и легко для всех перечисленных выше опций.

Я никогда не был человеком IDE. Для разработки я использую Subversion командной строки, установленную MacPorts, Textmate и иногда Expandrive для прямого доступа к файлам на серверах. Лично я очень зависим от Bicyclerepairman для Textmade , чтобы справиться с моими потребностями рефакторинга.

Другие, похоже, очень довольны Eclipse & Pydev .

3 голосов
/ 02 марта 2009

Вот некоторая полезная информация для начала. http://www.python.org/download/mac/

2 голосов
/ 05 марта 2009

На основании количества ошибок и пропусков, с которыми люди сталкивались в Leopard Python ( только здесь, на SO !), Я не мог рекомендовать эту версию. например, см .:

Я бы выбрал MacPorts .

Это не устраняет ваш существующий Python, поставляемый Apple, так как он устанавливается по умолчанию в /opt/local/bin (хорошо с ним работает), а также легко загружать и устанавливать дополнительные модули Python (даже двоичные модули, которые вам нужно скомпилировать! ). Я использую Porticus GUI для поддержки списка установленных пакетов MacPorts, включая python.

2 голосов
/ 02 марта 2009

Я рекомендую использовать виртуальные среды Python, особенно если вы используете Timecapsule, потому что Timecapsule будет выполнять резервное копирование всего, кроме модулей, добавленных в Python!

1 голос
/ 04 апреля 2011

И угадайте, что было забыто каждым ответом здесь ... ActivePython .

Сборка не требуется, даже для сторонних модулей, таких как numpy , lxml , pyqt и тысячи других .

ActivePython Community Edition logo

1 голос
/ 03 марта 2009

Питон, поставляемый Apple, довольно старый - у меня установка тигра 2.3.5. Это не может быть проблемой для вас, но вы бы многое упустили. Также существует риск, что Apple обновит его. Я не уверен, что переход с 2.3.5 на (скажем) 2.4 приведет к сбою кода, но я думаю, что это возможно. Это недавно произошло с Perl: http://developers.slashdot.org/article.pl?sid=09/02/18/1435227

Macpython - это сборка фреймворка (как и Apple, я считаю). Честно говоря, я не уверен, что именно это означает, но это является обязательным условием для некоторых модулей, в частности wxPython. Если вы получаете python из macports или fink, вы не сможете запустить wxPython (если вы не запустите его через X11).

1 голос
/ 02 марта 2009

В моей среде Windows я использую Eclipse и PyDev, которые хорошо работают вместе, даже если они немного разрежены. Очевидно, точно такая же среда доступна и для Mac, поэтому я предлагаю загрузить Eclipse и использовать функцию внутреннего обновления программного обеспечения для обновления PyDev с URL-адресом http://pydev.sourceforge.net/updates/.. здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...