В настоящее время на моем Mac установлено несколько версий Python: та, которая была с ним, версия, которую я недавно загрузил с python.org, более старая версия, используемая для локального запуска Zope, и другая версия, которую использует Appengine. Это какой-то беспорядок. Какие-либо рекомендации по использованию одной версии Python для управления ими всеми? Как мне удалить старые версии и связать все мои приложения с одной установкой? Есть ли какие-то особенности Mac, о которых мне следует знать? Это глупая идея?
Несколько версий Python на OS X Leopard
Ответы (4)
Нет ничего плохого в наличии нескольких версий Python. Иногда это необходимо при использовании приложений с зависимостями версий. Вероятно, самая большая проблема связана с зависимостями сайта от пакета, которые могут варьироваться от приложения к приложению. Здесь могут помочь такие инструменты, как virtualenv
. Одна вещь, которую вам не следует делать, - это пытаться удалить поставляемый Apple Python в / System / Library / Frameworks и связанный с ним из / usr / bin / python. (Обратите внимание на недавнее обсуждение нескольких версий здесь.)
virtualenv Яна Бикинга позволяет мне иметь изолированные Pythons для каждого создаваемого мной приложения и решать, стоит ли не включать глобальные пакеты сайтов в изолированную среду Python.
Я не пробовал это с Zope, но предполагаю, что следующее должно работать нормально:
- Используя Python от Zope, создайте новый virtualenv с параметром --no-site-packages или без него.
- Бросьте свой Zope в виртуальный мир
- Активируйте среду с помощью $ VENV / bin / activate
- Установите все необходимые сайты-пакеты
- Запустите Zope с помощью Python прямо сейчас по адресу $ VENV / bin / python
Это блестяще сработало для управления проектами Django с различными версиями Python, Django и надстройками.
Кажется, эта статья подходит более подробно о специфике Grok и Virtualenv, но общие положения должны относиться и к Zope.
+1 для virtualenv.
Даже если вам не нужны разные версии Python, все равно хорошо держать зависимости разработки отдельно от Python вашей системы.
Я не уверен, какую ОС вы используете, но нахожу эти инструкции, очень полезные для запуска сред разработки Python на OSX.
Я предпочитаю подход, который должен работать во всех UNIX-подобных операционных системах:
Создайте для каждого приложения, которому требуется определенная версия Python, учетную запись пользователя. Установите для каждого пользователя соответствующую версию Python с префиксом локального пользователя (например, ~ / build / python) и добавьте ~ / build / bin / в переменную среды PATH пользователя. Установите / используйте свои приложения на Python под их правильным пользователем.
Преимущество этого подхода - идеальная изоляция между отдельными установками Python и относительно удобный выбор правильной среды Python (только su
для соответствующего пользователя). Также операционная система остается нетронутой.