启动Airflow scheduler报错:无法从celery.backends.base导入BaseKeyValueStoreBackend
"File /usr/local/lib/python3.8/dist-packages/airflow/executors/celery_executor.py", line 38, in ?
from celery.backends.base import BaseKeyValueStoreBackend
ImportError: cannot import name 'BaseKeyValueStoreBackend' from 'celery.backends.base' (/home/airflowadmin/.local/lib/python3.8/site-packages/celery/backends/base.py)
错误根因
该报错为Airflow与Celery版本不兼容导致:你当前安装的Celery版本≥5.3,该版本已移除celery.backends.base中的BaseKeyValueStoreBackend类,而你使用的Airflow版本的CeleryExecutor仍依赖该已废弃的接口。
解决方案
- 卸载当前高版本Celery
执行命令:pip uninstall celery -y - 安装适配Airflow的Celery版本,Airflow 2.6及以下版本适配Celery 5.2.x分支版本
执行命令:pip install celery==5.2.7 - 检查依赖是否存在冲突
执行命令:pip check - 重启Airflow scheduler即可正常启动
注意事项
- 若Airflow安装在虚拟环境中,需先激活对应虚拟环境再执行上述命令
- 不要在WSL的Windows共享目录(路径以
/mnt/c开头)中部署Airflow,避免出现权限、路径解析异常 - 若后续升级Airflow版本,需同步更新Celery到对应适配版本,避免再次出现兼容问题
内容的提问来源于stack exchange,提问作者Chaitanya
相关产品推荐
相关产品推荐

