如何在airflow docker中导入其他模块的函数

6yt4nkrj  于 2023-04-20  发布在  Docker
关注(0)|答案(2)|浏览(135)

基本上,我试图从airflow中的另一个文件调用一个函数。我想使用airflow-docker从不同的文件运行一个python函数
我使用这个图像:https://airflow.apache.org/docs/apache-airflow/2.3.1/docker-compose.yaml运行气流
当我在同一个dag文件中运行一个函数时,一切都运行得很顺利。

但是,当我去我的localhost气流用户界面,我得到这样的错误(没有模块名称包括)

我已经在环境卷下面的docker-compose.yaml(includes)文件中添加了一行代码:

但我还是发现了同样的错误。
我能做些什么来修复这个错误吗?
如有任何帮助,我们将不胜感激。谢谢!

pgpifvop

pgpifvop1#

默认情况下,Airflow会在PYTHONPATH中添加插件和配置文件夹。
若要添加其他文件夹,需要显式设置它们

PYTHONPATH=$AIRFLOW_HOME/includes:$PYTHONPATH
dgiusagp

dgiusagp2#

无需修改PYTHONPATH环境变量或更改airflow.cfg配置文件,您可以通过修改volumes部分来更新docker-compose.yaml文件,如下所示:

...
volumes:
  ...
  - ./includes: /opt/airflow/plugins/includes
...

这会将主机上的./includes目录挂载到容器中的/opt/airflow/plugins/includes目录,使您的自定义模块可用于Airflow,而无需修改任何其他配置文件或环境变量。

相关问题