Почему я должен устанавливать пакеты Python в `~/.local`?

Фон

  • Я не разрабатываю, используя системы OS X, предоставляемые версиями Python (на OS X 10.6, которые Python 2.5.4 и 2.6.1).
  • Я не устанавливаю ничего в каталоге site-packages для предоставленных ОС версий Python. (Единственное исключение - Mercurial, установленный из двоичного пакета, который устанавливает два пакета в каталоге сайта-пакетов Python 2.6.1.)
  • Я установил три версии Python, все с использованием образа диска установщика Mac OS X:
    • Python 2.6.6
    • Python 2.7
    • Python 3.1.2
  • Мне не нравится загрязнять каталог сайтов-пакетов для моих установок Python. Поэтому я устанавливаю только следующие пять базовых пакетов в каталоге сайтов-пакетов. Для фактического метода/команд, используемых для их установки, см. SO Вопрос 4324558.
  • Все остальные пакеты установлены в virtualenvs.
  • Я единственный пользователь этого MacBook.

Вопросы

  • Учитывая приведенный выше фон, зачем мне устанавливать пять базовых пакетов в ~/.local? Поскольку я устанавливаю эти базовые пакеты в каталоги сайтов-пакетов дистрибутивов Python, которые я установил, я изолирован от дистрибутивов OS X Python.
  • Используя этот метод, должен ли я быть обеспокоен комментарием Glyph о том, что другие вещи могут быть повреждены (см. его комментарий ниже)?

Опять же, меня интересует, где можно установить эти пять базовых пакетов.

Вопросы, относящиеся/Информация

Я прошу из-за Glyph комментировать мой ответ на Вопрос № 4314376, в котором говорится:

НЕТ. НИКОГДА НЕ выполняйте sudo python setup.py install. Напишите файл ~/.pydistutils.cfg, который добавит вашу установку pip в ~/.local или что-то еще. Особенно файлы с именем ez_setup.py имеют тенденцию высасывать более новые версии таких вещей, как setuptools и easy_install, что может потенциально нарушить другие вещи в вашей операционной системе.

Ранее я спросил Каков правильный способ установки pip, virtualenv и распространения для Python?. Однако никто не ответил "почему" на использование ~/.local.

Ответ 1

Нет особых оснований для установки в .local для установки Mac OS X с использованием фреймворков. В настоящее время по-прежнему существуют разногласия среди основных разработчиков Python, поскольку Glyph утверждает, что расположение .local, представленное в Python 2.6 для других систем Unixy, должно использоваться для Mac OS X и упрощает сторонние процессы установки, в то время как другие утверждают, что предыдущие традиционные места для построения фреймворков Mac OS X более естественны. В конце концов, это зависит от вас. В частности, если вы используете виртуальные среды, если это работает, не беспокойтесь об этом.