В последнее время я видел хороший набор настроек, которые в последнее время бьют по интернетам. Совсем недавно я прочитал сообщение Джеймса Беннетта "Об упаковке" о том, почему никто не должен использовать setuptools. Из моего времени в #python на Freenode, я знаю, что есть несколько душ, которые абсолютно ненавидят его. Я считаю себя среди них, но я действительно использую его.
Я использовал setuptools для достаточного количества проектов, чтобы знать о его недостатках, и я предпочел бы что-то лучше. Мне не очень нравится формат яйца и его развертывание. Со всеми проблемами setuptools я не нашел лучшей альтернативы.
Мое понимание таких инструментов, как pip, заключается в том, что это означает замену easy_install (а не setuptools). На самом деле, pip использует некоторые компоненты setuptools, правильно?
В большинстве моих пакетов используется setup.ool, поддерживающий setuptools, который объявляет все зависимости. Когда они будут готовы, я построю sdist, bdist и bdist_egg и загружу их в pypi.
Если бы я хотел переключиться на использование pip, какие изменения мне нужно сделать, чтобы избавиться от зависимостей easy_install? Где объявляются зависимости? Я предполагаю, что мне нужно будет уйти от использования формата яйца и предоставить только исходные дистрибутивы. Если да, то как я могу создать каталоги с информацией о яйцах? или мне даже нужно?
Как это изменит мое использование virtualenv? Не использует ли virtualenv easy_install для управления средами?
Как это изменит мое использование setuptools, предоставленное командой "develop"? Должен ли я не использовать это? Какая альтернатива?
Я в основном пытаюсь получить представление о том, как будет выглядеть мой рабочий процесс разработки.
Прежде чем кто-либо подскажет это, я не ищу решение, зависящее от ОС. В основном я занимаюсь debian linux, но deb-пакеты не являются опцией, поскольку по причинам Ian Bicking выделяет здесь.