如何在Airflow的DAG中运行具有其他虚拟环境依赖项的python脚本?

时间:2019-12-10 07:11:20

标签: python docker virtualenv airflow

如何在Airflow的DAG中运行具有其他虚拟环境依赖项的python脚本?不使用安装了气流的主要python环境。

我有一个运行puckel图像的docker容器,我正在尝试创建一个由blob传感器和bash运算符组成的DAG。 bash运算符旨在运行python脚本,该脚本具有与特定软件包的依赖关系,与安装Airflow的主要python安装不同。

我这样做的方法是在映像中构建一个(python 3.7)虚拟环境,并将其放置在版本为azure-storage-blob = 12.1.0的“〜/ new_env /”中。在BashOperator中,我具有以下定义:

BashOperator(
        task_id='task_id_1',
        bash_command=f'{PATH_TO_VIRTUAL_ENV}/bin/python {PATH_TO_PYTHON_SCRIPT_1}/some_py_script.py'
    )

运行Airflow的python环境具有azure-storage-blob = 1.3.0。 该脚本无法运行。

这不是一个好方法吗?如果没有,有人解决了这个问题或用例吗?

谢谢

0 个答案:

没有答案