在本地安装气流的问题

时间:2020-12-28 20:55:44

标签: airflow airflow-scheduler

我在本地安装了气流,因为我正在气流 (2.0.0) 中测试 sftp 操作符。当我尝试运行此代码时

from airflow.providers.sftp.operators import sftp_operator
from airflow import DAG
import datetime

dag = DAG(
'test_dag',
start_date = datetime.datetime(2020,1,8,0,0,0),
schedule_interval = '@daily'
)

get_operation = SFTPOperator(
            task_id="operation",
            ssh_conn_id="ssh_default",
            local_filepath="route_to_local_file",
            remote_filepath="remote_route_to_copy",
            operation="get",
            dag=dag
            )

get_operation

当我运行此代码 python 代码时,我收到此错误。

Traceback (most recent call last):
File "test_dags.py", line 1, in <module>
    from airflow.providers.sftp.operators import sftp_operator
ModuleNotFoundError: No module named 'airflow.providers.sftp'

谁能告诉我我的安装中是否遗漏了什么?

1 个答案:

答案 0 :(得分:2)

由于您没有指定 Airflow 的安装方式,因此我假设您执行了类似 pip install apache-airflow>=2.0.0 的操作。如果您使用 pip freeze 查看该环境中的 Python 依赖项,您将看不到 apache-airflow-providers-sftp,因为从版本 2 开始,Airflow 将其功能提取到提供程序包中,其中绝大多数需要手动安装,例如:pip install apache-airflow-providers-sftp。现在它应该可以工作了。支持文档 https://airflow.apache.org/docs/apache-airflow-providers/packages-ref.html#apache-airflow-providers-sftp