我使用官方掌舵图安装了气流。我的 dag 位于 GitHub 存储库中并具有以下结构:
dags
|-directory
| |-test.py
|-my_dag.py
当我尝试在我的 dag 中导入测试时,我得到 ModuleNotFoundError: No module named 'test'
。
from airflow import DAG
from directory import test
with DAG(...) as dag:
...
但奇怪的是,如果我在函数内部进行导入,我不会出错并且能够使用导入的模块
from airflow import DAG
from airflow.operators.python import PythonOperator
def my_function():
from directory import test
*** Do something with test ***
with DAG(...) as dag:
task = PythonOperator(
task_id="task",
python_callable=my_function
)
...
我知道这与路径有关,但我无法解决此问题。 由于我的 dags 位于 /opt/airflow/dags/repo/dags,我尝试添加
sys.path.insert(0, '/opt/airflow/dags/repo/dags')
在我的 dag 文件的顶部,但它没有帮助。我也尝试将此路径添加到 PYTHONPATH,但没有成功。
有谁知道我的错误在哪里?