Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

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

  • Используя ваш Zope Python, создайте новый virtualenv, с или без --no-site-packages
  • Поместите свой Zope в virtualenv
  • Активировать среду с помощью $VENV/bin/activate
  • Установите необходимые пакеты сайтов
  • Запустите Zope с помощью Python теперь в $VENV/bin/python

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

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

Ответ 3

+1 для virtualenv.

Даже если вам не нужны разные версии Python, все равно полезно сохранять зависимости вашего развития от вашей системы Python.

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

Ответ 4

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

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

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