非Docker环境下Airflow DAG导入自定义模块报错求助
问题分析与解决
核心错误:文件名与导入名称不匹配
你的项目中模块文件名叫db_connections.py(复数形式),但你导入时写的是from labs import db_connection(单数形式),这是直接导致ImportError的原因。Python导入模块时严格匹配文件名,所以需要修正导入语句:
from labs import db_connections
如果db_connection是db_connections.py文件内的特定变量、类或函数,可改为:
from labs.db_connections import db_connection
关于sys.path的补充说明
你添加的路径C:\Users\xxxx\AIRFLOWHOME\dags\labs完全没必要,Airflow会自动将dags目录加入Python路径,labs作为dags下的合法子包(存在__init__.py),本身就应该能被直接导入,只要文件名和导入名对应正确即可。
若后续仍有导入问题,可检查:
__init__.py是否为空或存在语法错误labs目录下的文件是否存在命名冲突- 重启Airflow scheduler和webserver,确保加载最新的文件变更
内容的提问来源于stack exchange,提问作者yehudit
相关产品推荐
相关产品推荐

