首页 > 解决方案 > 在本地安装气流的问题

问题描述

我在本地安装了气流,因为我正在气流(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'

谁能告诉我安装中是否缺少任何东西?

标签: airflowairflow-scheduler

解决方案


由于您没有指定如何安装 Airflow,我假设您做了类似pip install apache-airflow>=2.0.0. 如果您查看该环境中的 Python 依赖项,pip freeze您将不会看到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


推荐阅读