Pull to refresh

Comments 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-файлы (и любые инструменты на их основе) — это костыли из трудного прошлого. Не стоит оно того, чтобы тратить на это своё время и силы, всё равно рано или поздно отомрёт.

UFO just landed and posted this here
Спасибо BasicWolf и iroln! После ваших коментариев, я решил ещё раз более внимательно посмотреть на poetry. После того, как я прочитал прошлый раз его документацию, я думал, что у меня не получится использовать poetry для того, чтобы управлять зависимостями в Jupyter Notebook проектах. Более того, я думал, что poetry умеет хранить файлы виртуального окружения только в отдельной папке.

Но сегодня, после ваших коментариев, я проштудировал ещё раз документацию, а также создал виртуальную машину, где проверил все мои сценарии. Оказалось, что действительно poetry можно использовать исходя из моих требований. Спасибо вам огромное за то, что указали ещё раз посмотреть в сторону этого инструмента!

Собираюсь сейчас написать для себя заметку в блоге, как использовать этот инструмент исходя из моих требований. Как думаете, стоит ли об этом написать на хабре?

Всегда стоит, ведь чем точнее (и специфичнее) кейсы использования — тем понятнее как владеть инструментом.

создать директорию requirements, в ней файлы base.txt, dev.txt, test.txt, prod.txt. в base.txt прописать общие для всех зависимости, в остальных первой строкой -r base.txt, а дальше специфичные зависимости. для замороженных можно продублировать с указанием версий.
Sign up to leave a comment.

Articles