Какая разница между dist-пакетами и пакетами сайтов?

Меня немного раздражает процесс установки пакета python. В частности, какая разница между пакетами, установленными в каталоге dist-packages и каталогом сайтов-пакетов?

Ответ 1

dist-packages - это соглашение, специфичное для Debian, которое также присутствует в его производных, таких как Ubuntu. Модули устанавливаются в dist-пакеты, когда они поступают из диспетчера пакетов Debian в это место:

/usr/lib/python2.7/dist-packages

Так как easy_install и pip установлены из диспетчера пакетов, они также используют dist-пакеты, но здесь они помещают пакеты:

/usr/local/lib/python2.7/dist-packages

Из Debian Python Wiki:

dist-packages вместо сайтов-пакетов. Программное обеспечение сторонних разработчиков Python установленный из пакетов Debian, отправляется в dist-пакеты, а не сайт-пакеты. Это должно уменьшить конфликт между системой Python, и любой исходный Python-сборник, который вы можете установить вручную.

Это означает, что если вы вручную установите Python из источника, он использует каталог сайтов-пакетов. Это позволяет вам разделить две установки, тем более что Debian и Ubuntu полагаются на системную версию Python для многих системных утилит.