python - 无法将自定义模块导入 Airflow Docker 中的 dag 脚本
问题描述
我在puckel/docker-airflow容器中有一个 dag,在 dag 脚本中我从另一个脚本导入了一个自定义模块:
from app_store_reviews.app_store_reviews.spiders.list_ids import ListIdsSpider
在哪里:
ListIdsSpider
是list_ids.py中的一个类。就是在这个路径 = 'usr/local/airflow/dags/app_store_reviews/app_store_reviews/spiders'
但是我从气流中得到了这种错误:
Broken DAG: [/usr/local/airflow/dags/reviews_analysis_dag.py] No module named 'app_store_reviews.app_store_reviews.spiders.list_ids'
我该如何解决这个问题?也许将此路径添加到PYTHONPATH?如果是这样,我如何在正在运行的容器中做到这一点?
解决方案
您似乎在 Airflow Web UI 中看到了错误。当它扫描你的 dag 文件时,airflow-scheduler 会抛出该错误。
您需要确保您的自定义模块安装在气流调度程序环境中。
推荐阅读
- javascript - Firebase Client JS SDK - 在哪里保存私钥?
- python - 删除字典中具有特定值的键
- azure - 增加 Azure API 管理中的请求超时
- firebase - 其中10个极限Flutter
- rxjs - 为什么使用 share 会阻止使用 withLatestFrom 的 observable?
- excel - 值不会复制到新工作表
- swift - 突然在 Xcode 项目中出现奇怪的“istream”错误
- python - 如何在mac os中修复“尝试调用未定义的函数glutInit,在调用之前检查bool(glutInit)”
- bash - bash Grep 多行“BID_1:****”并保存到“****_name”,其中 **** 是数字
- html - 使用 jqruery html5 原生选择器设置最小日期