CentOS7.6 Python3.8安装Airflow报subprocess-exited-with-error错误
问题根因
两个核心触发点:
- 安装时拉取的
airflow-0.6.tar.gz不是Apache官方Airflow安装包,PyPI上名为airflow的0.6版本是历史废弃占位包,无实际可用功能,Apache Airflow的正确PyPI包名为apache-airflow。 - Python构建环境缺少
setuptools组件,无法执行setup.py脚本完成安装元数据生成,触发子进程执行报错。
解决步骤
1. 清理错误包、补全基础构建依赖
首先卸载已经拉取的错误废弃包:
pip uninstall -y airflow
升级安装Python构建阶段必备的基础组件,避免构建报错:
pip install --upgrade pip setuptools wheel
CentOS7.6环境提前安装系统级编译依赖,避免后续安装Airflow组件时编译失败:
yum install -y python38-devel gcc cyrus-sasl-devel openldap-devel
注意:不建议直接用sudo修改系统自带Python环境,优先使用Python虚拟环境安装Airflow,避免影响系统服务运行。
2. 安装正确版本的Apache Airflow
禁止直接执行pip install airflow,该命令默认拉取的就是前述0.6版本废弃占位包。Python3.8环境适配的Airflow稳定版本为2.3.x、2.4.x系列,安装时指定正确包名和版本即可:
pip install apache-airflow==2.4.3
如果安装过程中出现依赖版本冲突,可对照对应Airflow版本的官方依赖兼容列表,手动固定冲突包的适配版本即可,不要直接安装最新版Airflow,避免出现Python版本、系统依赖不兼容问题。
3. 安装验证
安装完成后执行以下命令,能正常输出版本号即代表安装成功:
airflow version
额外注意事项
CentOS7.6系统自带的OpenSSL版本为1.0.2,若后续启动Airflow时遇到SSL协议相关报错,需要先将系统OpenSSL升级到1.1.1及以上版本。
内容的提问来源于stack exchange,提问作者glory yin
相关产品推荐
相关产品推荐

