Несколько версий Python на OS X Leopard - PullRequest
21 голосов
/ 02 августа 2009

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

Ответы [ 4 ]

20 голосов
/ 02 августа 2009

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

9 голосов
/ 02 августа 2009

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

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

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

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

Эта статья , кажется, более подробно описывает специфику Grok и Virtualenv, но общие положения должны применяться и к Zope.

2 голосов
/ 24 августа 2009

+ 1 за виртуальность.

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

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

1 голос
/ 02 августа 2009

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

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

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

...