如何在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。 该脚本无法运行。
这不是一个好方法吗?如果没有,有人解决了这个问题或用例吗?
谢谢