1
我为不同的python项目设置了不同的气流档案,即一个父级dags文件夹/vol/dags
与基于不同python项目的DAG的子文件夹:/vol/dags/project1/project1.py, /vol/dags/project2/project2.py
其中DAGS_FOLDER = /vol/dags
。如何在气流中设置多个Dag目录
project1.py
例如从同一个目录中的另一个python文件导入一个函数,即/vol/dags/project1/mycalculator.py
。但是,当我开始气流的Web服务器,我得到一个ImportError
:
/vol/dags/project1/$ airflow webserver -p 8080
INFO - Filling up the DagBag from /vol/dags/
ERROR - Failed to import: /vol/dags/project1/project1.py
Traceback (most recent call last):
File "/Users/xxx/anaconda/lib/python2.7/site-packages/airflow/models.py", line 247, in process_file
m = imp.load_source(mod_name, filepath)
File "/vol/dags/project1/project1.py", line 10, in <module>
from mycalculator import *
ImportError: No module named mycalculator
我试图导入mycalculator.py
到project1.py
这样的:
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from airflow.operators import PythonOperator
from datetime import datetime, timedelta
from mycalculator import *
dag = DAG(
dag_id='project1', default_args=args,
schedule_interval="@once")
当你编译蟒蛇你得到一个进口错误? – Dotan
我有同样的问题。但DAG实际上仍在运行,尽管Airflow将其标记为“损坏”,并且在打开代码查看器时Web服务器不会爆炸。 – jastang