Импортировать пользовательские модули Python в файл dag, не смешивая окружения dag и sys.path? - PullRequest
0 голосов
/ 06 ноября 2019

Есть ли способ импортировать пользовательские модули Python в файл dag, не смешивая среды dag и sys.path? Невозможно использовать что-то вроде

environ["PROJECT_HOME"] = "/path/to/some/project/files"
# import certain project files
sys.path.append(environ["PROJECT_HOME"])
import mymodule

, потому что sys.path является общим для всех дагов, и это вызывает проблемы (например, совместное использование значений между определениями даг), если вы хотите импортироватьмодули из разных мест, которые имеют одно и то же имя для разных определений дагов (и если дагов много, это трудно отследить).

Документы для использования упакованных пакетов (которые казались решением), похоже, не решают проблему

ZIP-файл будет вставлен в началесписка поиска модулей (sys.path) и, как таковой, он будет доступен любому другому коду, находящемуся в том же интерпретаторе.

Кто-нибудь с большим знанием воздушного потока знает, как справиться с такой ситуацией?

* Отличается от связанного с вопросом тем, что менее конкретно касается реализации

...