gpt4 book ai didi

python - ModuleNotFoundError - 导入 Python 文件时出现 Airflow 错误

转载 作者:行者123 更新时间:2023-12-04 13:41:24 42 4
gpt4 key购买 nike

我创建了一个非常简单的 DAG 来使用 PythonOperator 执行 Python 文件。我正在使用 docker 镜像运行 Airflow,但它无法识别我拥有 .py 文件的模块

结构是这样的:

main_dag.py
plugins/__init__.py
plugins/njtransit_scrapper.py
plugins/sql_queries.py
plugins/config/config.cfg

cmd 运行 docker Airflow 镜像:

docker run -p 8080:8080 -v /My/Path/To/Dags:/usr/local/airflow/dags  puckel/docker-airflow webserver

我已经试过了 airflow initdb并重新启动 Web 服务器,但它一直显示错误 ModuleNotFoundError: No module named 'plugins'
对于我使用的导入语句:

from plugins import njtransit_scrapper

这是我的 PythonOperator:

tweets_load = PythonOperator(
task_id='Tweets_load',
python_callable=njtransit_scrapper.main,
dag=dag
)

我的 njtransit_scrapper.py 文件只是一个文件,用于收集推特帐户的所有推文并将结果保存在 Postgres 数据库中。

如果我删除 PythonOperator 代码并导入代码工作正常。我已经测试了几乎所有东西,但我不太确定这是一个错误还是其他什么。

有可能当我为 docker 镜像创建一个卷时,它只是导入主 dag 并在那里停止导致不导入整个包?

最佳答案

为了帮助可能登陆此页面并因我犯的同样错误而出现此错误的其他人,我将其记录在此处。
我有一个不必要的 __init__.py文件在 dags/文件夹。
删除它解决了问题,并允许所有 dag 找到它们的依赖模块。

关于python - ModuleNotFoundError - 导入 Python 文件时出现 Airflow 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56614130/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com