【发布时间】:2017-07-13 02:58:31
【问题描述】:
我无法将通用代码移出气流使用的 dag 目录。我查看了airflow source 并找到了imp.load_source。
是否可以使用imp.load_source 来加载存在于 dag 目录之外的模块?在下面的示例中,这将是从公共目录导入 foo 或 bar。
── airflow_home
|──── dags
│ ├── dag_1.py
│ └── dag_2.py
├── common
├── foo.py
└── bar.py
【问题讨论】:
-
所有这些文件夹是否属于同一个应用程序模块?或不同的模块。以防万一所有都来自同一个应用程序模块,您可以使用相对路径导入。
-
@Haranadh 是的。我更新了图表以显示airflow_home 目录。
-
我无法在 cmets 中回答。我发布了我的详细答案。如果你喜欢它。请投票。 :)
-
此处发布了通过修改 PYTHONPATH 的解决方法:stackoverflow.com/a/48154139/1881080