さまざまなpythonプロジェクト、すなわち1つの親dagsフォルダに対して異なる気流ダグを設定しています。/vol/dags/project1/project1.py, /vol/dags/project2/project2.py
DAGS_FOLDER = /vol/dags
のDAGのサブフォルダは/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
私はこのようなproject1.py
へmycalculator.py
をインポートしようとした:フォルダ/vol/dags/project1/
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")
あなたのpythonをコンパイルするときは、インポートを得るのですかエラー? – Dotan
私は同じ問題があります。実際にDAGが実行されていてもAirflowが「壊れている」とマークしていても、コードビューアを開いてもWebサーバーが爆発することはありません。 – jastang