Комментарии 8
А как же разделение вида requirements.prod.txt
и requirements.dev.txt
? Если зашивать версии зависимостей для вас не критично, то достаточно в этих файлах определить зависимости первого уровня.
Poetry же не работает для управления зависимостями для блокнотов.
Расскажите пожалуйста поподробнее, в чём проблема с Poetry?
Так и не понял, чем не устроил Poetry. У вас в тексте всего 2 упоминания о нём:
проштудировал документацию к poetry
Poetry же не работает для управления зависимостями для блокнотов.
Poetry на текущий момент самый современный и продвинутый инструмент (не считая dephell, но это скорее meta packaging tool) для управления рабочим окружением и зависимостями. В нём как минимум есть умный ресолвер зависимостей (чего нет ни в pip, ни в pipenv), оно позволяет управлять окружениями, dev и extra зависимостями, а также лочить их. Также оно использует современный формат конфигурационного файла pyproject.toml и lock-файл для фиксации версий зависимостей. Зависимости можно обновлять, используя команду update, и это не сломает вам окружение из-за несовместимости версий, потмоу что за этим следит ресолвер.
А requirements-файлы (и любые инструменты на их основе) — это костыли из трудного прошлого. Не стоит оно того, чтобы тратить на это своё время и силы, всё равно рано или поздно отомрёт.
Но сегодня, после ваших коментариев, я проштудировал ещё раз документацию, а также создал виртуальную машину, где проверил все мои сценарии. Оказалось, что действительно poetry можно использовать исходя из моих требований. Спасибо вам огромное за то, что указали ещё раз посмотреть в сторону этого инструмента!
Собираюсь сейчас написать для себя заметку в блоге, как использовать этот инструмент исходя из моих требований. Как думаете, стоит ли об этом написать на хабре?
А как вам такой вариант управления зависимостями в Python?