树莓派安装Airflow时找不到BashOperator

4

我不确定如何解决这个问题——其他涉及“ModuleNotFoundError”的帖子都是通过重新安装相关包来解决的,但很明显这不是问题所在,因为例子中的bash运算符DAG可以运行。那么我的问题是否与Airflow的安装方式有关?此时,我正在考虑通过puckel Docker容器重新安装Airflow。

[2020-12-23 01:02:24,705] {dagbag.py:259} ERROR - Failed to import: /home/pi/airflow/dags/dag_clist.py

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/airflow/models/dagbag.py", line 256, in process_file
    m = imp.load_source(mod_name, filepath)
  File "/usr/lib/python3.7/imp.py", line 171, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 696, in _load
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/pi/airflow/dags/dag_clist.py", line 7, in <module>
    from airflow.operators.bash import BashOperator
ModuleNotFoundError: No module named 'airflow.operators.bash'

与BashOperator有关的其他SO帖子:


你是否调查过这个功能是否在特定版本中实现?你使用的是哪个版本? - tripleee
@tripleee 我在airflow github项目上使用了最新的稳定版本 pip install apache-airflow==1.10.14 \ --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-1.10.14/constraints-3.7.txt" - will-wright-eng
1个回答

9

由于您正在使用Airflow 1.10.14,所以导入应该是如下:

from airflow.operators.bash_operator import BashOperator

在 Airflow >= 2.0.0 版本中:

from airflow.operators.bash import BashOperator

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接