В настоящее время у меня есть несколько версий Python, установленных на моем Mac, тот, который пришел с ним, версию, которую я недавно загрузил из python.org, более старую версию, используемую для запуска Zope локально, а другой версию, которую использует Appengine. Это беспорядок. Любые рекомендации по использованию одной версии python для их правильного управления? Как я могу использовать удаленные старые версии и привязать все мои приложения к одной установке. Любые Mac-специфические ошибки, о которых я должен знать? Это глупая идея?Несколько версий Python на OS X Leopard
ответ
Нет ничего неправильного в том, чтобы иметь несколько версий Python. Иногда это необходимо при использовании приложений с зависимостями версий. Вероятно, самая большая проблема связана с зависимостями сайтов-пакетов, которые могут отличаться от приложения к приложению. Такие инструменты, как virtualenv
, могут помочь. Одна вещь, которую вы должны не do - попытка удалить поставляемый Apple Python в/System/Library/Frameworks и связанный с/usr/bin/python. (Обратите внимание на недавнее обсуждение нескольких версий here.)
+1 на virtualenv. Я подключился к домашней странице virtualenv. –
подход, который я предпочитаю, которая должна работать на всех UNIX-подобной операционной системы:
Создание для каждого приложения, которые нуждаются в конкретных Python версии учетной записи пользователя. Установите в каждом пользователе соответствующую версию python с локальным префиксом пользователя (например, ~/build/python) и добавьте ~/build/bin/в переменную среды PATH пользователя. Установите/используйте свои приложения python у своего правильного пользователя.
Преимущество этого подхода заключается в идеальной изоляции между отдельными установками python и относительно удобном выборе правильной среды python (только su
для соответствующего пользователя). Также операционная система остается нетронутой.
Ian Bicking's virtualenv позволяет мне изолировать Pythons для каждого приложения, которое я создаю, и позволяет мне решить, включать или не включать глобальные пакеты сайтов в изолированную среду Python.
Я не пробовал с Zope, но я предполагаю, что следующий должен работать хорошо:
- Использование Python вашего Zope, делают новый virtualenv, с или без --no-сайта -packages
- Бросай Zope в virtualenv
- Активируйте среду с $ VENV/бен/активировать
- Установите все необходимые сайт-пакеты
- Выполнить свой Zope, используя Python теперь в $ VENV/бен/питон
Это прекрасно работало для управления проектами Django с различными версиями Python, Django и надстроек.
This article, по-видимому, более подробно описывает особенности Grok и Virtualenv, но общие соображения должны применяться к Zope как welll.
+1 для virtualenv.
Даже если вам не нужны разные версии Python, все равно полезно сохранять зависимости развития от вашей системы Python.
Я не уверен, какую ОС вы используете, но я нахожу инструкции these очень полезными для получения среды разработки python, работающей на OSX.
Читать это сообщение в блоге: http://farmdev.com/thoughts/66/python-3-0-on-mac-os-x-alongside-2-6-2-5-etc-/ –