Я заинтересован в использовании doit
для автоматизации процесса сборки пакета python.
Если возможно, я бы хотел, чтобы doit
повторно выполнил задачу, если какой-либо из созданных пользователем исходных файлов, от которых он зависит, изменился.
Насколько я понимаю, лучший способ сделать это - использовать клавишу file_dep
и список зависимых исходных файлов, однако у меня возникли большие проблемы при создании этого списка.
Я пытался использовать sys.modules
и inspect.getmembers()
, но эти решения не могут работать с операторами импорта, которые не импортируют модуль, например from x import Y
, что, к сожалению, является обычным явлением в пакете, которым я являюсь разработки.
Другой путь, который я исследовал, - это использование инструмента snakefood
, который изначально выглядит так, как будто бы он делал именно то, что мне нужно, генерирует список файловых зависимостей для каждого файла в данном пути.
К сожалению, этот инструмент, похоже, имеет ограниченную поддержку Python 3, что делает его бесполезным для моего пакета.
Кто-нибудь знает, как получить snakefood
-подобные функции в Python 3, или это единственный вариант изменить весь мой исходный код только на импорт модулей?