Несколько версий Python на OS X Leopard

В настоящее время на моем Mac установлено несколько версий Python: та, которая была с ним, версия, которую я недавно загрузил с python.org, более старая версия, используемая для локального запуска Zope, и другая версия, которую использует Appengine. Это какой-то беспорядок. Какие-либо рекомендации по использованию одной версии Python для управления ими всеми? Как мне удалить старые версии и связать все мои приложения с одной установкой? Есть ли какие-то особенности Mac, о которых мне следует знать? Это глупая идея?


person tomvon    schedule 02.08.2009    source источник
comment
Прочтите это сообщение в блоге: farmdev.com/ought/66/   -  person S.Lott    schedule 02.08.2009


Ответы (4)


Нет ничего плохого в наличии нескольких версий Python. Иногда это необходимо при использовании приложений с зависимостями версий. Вероятно, самая большая проблема связана с зависимостями сайта от пакета, которые могут варьироваться от приложения к приложению. Здесь могут помочь такие инструменты, как virtualenv. Одна вещь, которую вам не следует делать, - это пытаться удалить поставляемый Apple Python в / System / Library / Frameworks и связанный с ним из / usr / bin / python. (Обратите внимание на недавнее обсуждение нескольких версий здесь.)

person Ned Deily    schedule 02.08.2009

virtualenv Яна Бикинга позволяет мне иметь изолированные Pythons для каждого создаваемого мной приложения и решать, стоит ли не включать глобальные пакеты сайтов в изолированную среду Python.

Я не пробовал это с Zope, но предполагаю, что следующее должно работать нормально:

  1. Используя Python от Zope, создайте новый virtualenv с параметром --no-site-packages или без него.
  2. Бросьте свой Zope в виртуальный мир
  3. Активируйте среду с помощью $ VENV / bin / activate
  4. Установите все необходимые сайты-пакеты
  5. Запустите Zope с помощью Python прямо сейчас по адресу $ VENV / bin / python

Это блестяще сработало для управления проектами Django с различными версиями Python, Django и надстройками.

Кажется, эта статья подходит более подробно о специфике Grok и Virtualenv, но общие положения должны относиться и к Zope.

person ken    schedule 02.08.2009

+1 для virtualenv.

Даже если вам не нужны разные версии Python, все равно хорошо держать зависимости разработки отдельно от Python вашей системы.

Я не уверен, какую ОС вы используете, но нахожу эти инструкции, очень полезные для запуска сред разработки Python на OSX.

person Jon Hadley    schedule 24.08.2009

Я предпочитаю подход, который должен работать во всех UNIX-подобных операционных системах:

Создайте для каждого приложения, которому требуется определенная версия Python, учетную запись пользователя. Установите для каждого пользователя соответствующую версию Python с префиксом локального пользователя (например, ~ / build / python) и добавьте ~ / build / bin / в переменную среды PATH пользователя. Установите / используйте свои приложения на Python под их правильным пользователем.

Преимущество этого подхода - идеальная изоляция между отдельными установками Python и относительно удобный выбор правильной среды Python (только su для соответствующего пользователя). Также операционная система остается нетронутой.

person sebasgo    schedule 02.08.2009