即使在pip安装气流[celery]之后也没有定义'CeleryExecutor'

时间:2017-11-22 21:15:11

标签: python celery airflow

我正在尝试从LocalExecutor切换到本地计算机上的CeleryExecutor。我应该使用pip install airflow[celery]安装必要的库。我也安装并运行了redis。

但是,当我尝试运行airflow worker时,我收到错误:

DEFAULT_EXECUTOR = CeleryExecutor()
NameError:  CeleryExecutor' is not defined

我将broker urlcelery_result_backend都设置为redis://localhost:6379,并在后台运行redis。我做错了什么?

3 个答案:

答案 0 :(得分:1)

似乎你换了,但气流并不知道。在运行每个气流命令之前检查您是否已指定 AIRFLOW_HOME env变量,并且您没有文件夹〜/ airflow 和文件〜/ airflow.cfg < / em>(在你的主目录中!)因为它将被用作默认值(忽略你的 AIRFLOW_HOME )。

有关此问题的更多详细信息:https://github.com/puckel/docker-airflow/issues/132

答案 1 :(得分:1)

打开python shell,然后运行from celery import Celery来测试是否已安装celery。如果没有,您可以通过pip安装它。 pip install celery

答案 2 :(得分:0)

尝试打开安装了气流的python shell并运行:

>>> from airflow.executors.celery_executor import CeleryExecutor

我认为你会得到一个更有用的错误。