К вашему сведению, я новичок в Python, и его инструменты упаковки и зависимости кажутся запутанными.
Я собираюсь написать серию пакетов Python, которые поддерживают Dags, работающие в Apache Airflow. Поскольку эти пакеты имеют общие функции, я хочу выделить общие черты в отдельные вспомогательные модули. В свою очередь, эти поддерживающие модули будут опираться как минимум на два других поддерживающих модуля. Все рассматриваемые модули / пакеты будут опубликованы в виде исходных текстов во внутреннем репозитории.
Можно ли мне установить основные пакеты таким образом, чтобы все прямых и косвенных зависимостей устанавливались из частного репозитория?
Я использовал install_requires в setup.py для установки модулей, доступных через Pypi, и мне кажется, что я мог бы сделать что-то подобное для достижения своих целей, однако это может показаться грязным, когда я нужно обновить скажем версию о косвенных зависимостях. Есть ли лучший способ, которым я могу справиться с этим? Будет ли добавление зависимостей к needs.txt с аргументом - extra-index правильным?
Иерархия зависимостей может быть представлена в виде:
MainPackage
-> SupportingPackage
-> CommonUtilites