Существует два совершенно противоположных лагеря: один в пользу пакетов, предоставляемых системой, и один в пользу отдельной установки. Я лично в лагере "системных пакетов". Я приведу аргументы от каждой стороны ниже.
Профессиональные системные пакеты: системный упаковщик уже заботится о зависимости и соответствии общим системным политикам (таким как расположение файлов). Системные пакеты предоставляют обновления безопасности, при этом заботясь о том, чтобы не нарушить совместимость - поэтому они иногда сообщают об исправлениях безопасности, которые авторы вышестоящих версий не делали. Системные пакеты "безопасны" по отношению к. обновления системы: после обновления системы у вас, вероятно, также есть новая версия Python, но все ваши модули Python все еще там, если они поступают из системного упаковщика. Это весь личный опыт работы с Debian.
Системные пакеты Con: не все программное обеспечение может быть предоставлено как системный пакет или не в последней версии; Установка вещи самостоятельно в систему может привести к поломке системных пакетов. Обновления могут сломать ваше приложение.
Про отдельная установка: Некоторые люди (в частности, разработчики веб-приложений) утверждают, что вам абсолютно необходима повторяемая установка, с необходимыми пакетами, и полностью отделенная от системы Python. Это выходит за рамки самоустановленных и системных пакетов, поскольку даже для самоустановочных систем вы все равно можете изменить системный питон; с отдельной установкой, вы не будете. Как обсуждает Леннарт, теперь существуют специальные цепочки инструментов для поддержки этой настройки. Люди утверждают, что только такой подход может гарантировать повторяющиеся результаты.
Раздельная установка: вам нужно разобраться с исправлениями ошибок самостоятельно и убедиться, что все ваши пользователи используют отдельную установку. В случае веб-приложений последнее, как правило, легко достигается.