Почему я должен устанавливать пакеты 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 более естественны. В конце концов, это зависит от вас. В частности, если вы используете виртуальные среды, если это работает, не беспокойтесь об этом.