如何运行Airflow中故障DAG?解决依赖缺失及虚拟环境关联问题
解决Airflow自定义DAG依赖找不到的问题
核心原因
Airflow的webserver和scheduler进程使用的Python环境,和你项目的虚拟环境并非同一个,导致无法识别已安装的依赖包(如astro、pandas)。
具体解决步骤
激活项目虚拟环境
定位到项目虚拟环境的路径,执行激活命令:source /mnt/d/projects/pipeline/pipeline-v1/venv/bin/activate(若你的虚拟环境名称不是
venv,替换为实际名称即可)在虚拟环境内重新安装Airflow
确保Airflow安装在包含所有项目依赖的虚拟环境中,执行:pip install apache-airflow(需指定Airflow版本的话,添加版本号后缀,比如
pip install apache-airflow==2.8.0)修改Airflow配置指定Python解释器
打开airflow.cfg文件,找到python_executable配置项,将其设置为虚拟环境内的Python路径:python_executable = /mnt/d/projects/pipeline/pipeline-v1/venv/bin/python重启Airflow服务
先停止当前运行的Airflow进程:airflow webserver -k stop airflow scheduler -k stop再重新启动后台服务:
airflow webserver -D airflow scheduler -D验证依赖与环境一致性
在激活的虚拟环境中执行以下命令,确认依赖已正确安装:pip list | grep -E "pandas|astro" python -c "import pandas; from astro.files import File"若第二条命令无报错,说明依赖导入正常。
内容的提问来源于stack exchange,提问作者kitten_world
相关产品推荐
相关产品推荐

