Многие сообщения по разным аспектам этого вопроса, но я не видел сообщения, которое объединяет все это.
Сначала субъективное утверждение: кажется, что простота, которую мы испытываем при работе с языком Python, раскалывается, когда мы выходим за пределы интерпретатора и начинаем бороться с проблемами развертывания. Как лучше всего иметь несколько версий Python на одной машине? Где должны быть установлены пакеты? Disutils vs. setuptools vs. pip и т.д. Кажется, что Zen Python сильно злоупотребляет, когда дело доходит до развертывания. Я чувствую жуткие отголоски опыта "DLL ад" в Windows.
Согласны ли эксперты относительно некоторой передовой практики по этим вопросам?
Вы запускаете несколько версий Python на одном компьютере? Как вы уверены, что они могут сосуществовать, а более новая версия не нарушает предположений о других процессах, которые полагаются на более раннюю версию (например, сценарии, предоставляемые поставщиком ОС)? Это безопасно? Достаточно ли virtualenv?
Каков наилучший выбор мест для разных компонентов среды Python (включая сторонние пакеты) в локальной файловой системе? Существует ли строгое или грубое соответствие между местоположениями для разных версий Unixy и ОС Windows, на которые можно положиться?
И самый мутный угол болота - какие инструменты для установки вы используете (setuptools, distutils, pip и т.д.), и они хорошо сочетаются с вашими выборами: расположение файлов, виртуальные среды Python, путь Python и т.д.
Звучат как сложные вопросы. Я надеюсь, что опытные питонисты, возможно, определили канонический подход (или два) к этим задачам. Любой подход, который "зависает" как система, которая может быть использована с уверенностью (чувство меньше, чем отдельные, не связанные с ней инструменты), будет очень полезна.