我是新手,而且我的气流DAG有问题,它在我的包中导入模块.
Broken DAG: [/opt/airflow/dags/foo_export/util.py] Traceback (most recent call last): File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "/opt/airflow/dags/foo_export/util.py", line 12, in <module> from .constants import ERROR_LOG ImportError: attempted relative import with no known parent package
我使用的是Python3.9.18.
我的项目/DAG目录:
airflow
├── dags
│ ├── foo_export
│ ├── __init__.py
│ ├── util.py
│ └── config.py
│ └── export.py
│ └── dags.py
│ └── constants.py
├── airflow.cfg
├── logs
├── plugins
Util.py的代码片段:
import io
import logging
from contextlib import contextmanager
from datetime import datetime
from airflow.models import TaskInstance
from .constants import ERROR_LOG, PUBLICATION_DATE
....
Constants.py的代码片段:
PUBLICATION_DATE = "publication_date"
ERROR_LOG = "error_log"
奇怪的是:此模块以前在2.2.2版的Airflow上工作,没有 destruct 任何DAG.此问题仅在更新到2.7.2版后才会出现
根据https://airflow.apache.org/docs/apache-airflow/2.7.2/installation/prerequisites.html,我使用的是一个也已经测试过的Python版本.