Я использую make
, я полагаю GNU Make
на WSL. Я использую это для науки о данных, опираясь на cookiecutter-datascience
.
Прежде чем я начал использовать make
, я думал, что нужно отслеживать, какие части конвейера изменились, и только повторно запускать этапы в конвейере после него .
Вот фрагмент из файла makefile:
## Install Python Dependencies
requirements: test_environment
pip install -U pip setuptools wheel
pip install -r requirements.txt
## Make Dataset
data: requirements
$(PYTHON_INTERPRETER) src/data/make_dataset.py
Когда я запускаю make data
, он не только повторно запускает часть данных конвейера и последующих этапов, но также перезапускает make requirements
и make test_environment
. Но это напротив того, что я хочу. Эти стадии наступают до , а не после . Если у меня есть дорогой конвейер, я, очевидно, не хочу запускать его снова и снова.
В моем случае я хочу, чтобы: если один из необработанных (необработанных) файлов данных был изменен, я бы хотел, чтобы он перезапустил предварительную обработку данных. Это не должно включать в себя такие вещи, как отслеживание того, изменились ли библиотеки, потому что эти шаги логически предшествовали предварительной обработке данных.