CentOS 7离线安装Apache Airflow失败求助:求正确安装流程
离线CentOS 7环境安装Apache Airflow 完整流程
一、前置环境对齐(联网机器)
目标服务器和联网机器必须保持Python版本完全一致(含小版本,如Python 3.8.10),避免依赖包架构/版本不兼容。如果联网机器不是CentOS 7,需提前安装与目标服务器匹配的系统编译依赖(如gcc、python-devel等)。
二、完整下载Airflow及所有依赖
直接使用pip download apache-airflow可能遗漏递归依赖或可选依赖,按以下步骤操作:
- 激活与目标服务器一致的虚拟环境:
python3 -m venv airflow-venv source airflow-venv/bin/activate - 下载指定版本的Airflow及全量依赖(以2.8.0为例,需根据Python版本选择兼容的Airflow版本:Airflow 2.7+要求Python3.8+,CentOS7默认Python3.6需选Airflow 2.6.x):
pip download apache-airflow==2.8.0 --dest ./airflow-packages --no-binary :all: --no-build-isolation--no-binary :all::强制下载源码包,避免wheel包与目标系统架构不匹配--no-build-isolation:避免额外下载构建隔离依赖--dest:指定下载目录
三、传输包到离线服务器
将airflow-packages目录下所有文件(.whl/.tar.gz)通过scp或离线介质传输到CentOS7服务器的本地目录,如/opt/airflow-packages。
四、离线服务器预配置
- 安装系统级依赖(解决编译失败问题):
sudo yum install -y gcc python3-devel openldap-devel krb5-devel libffi-devel openssl-devel - 升级pip(避免旧版本pip依赖解析错误):
先在联网机器下载对应版本的pip包(如pip download pip==23.3.1),传输到服务器后执行:pip install --no-index --find-links /path/to/pip-packages pip==23.3.1
五、执行离线安装
必须添加--no-index参数,强制pip仅从本地目录查找包:
pip install --no-index --find-links /opt/airflow-packages apache-airflow==2.8.0
若出现包缺失错误,根据报错信息在联网机器单独下载对应包(pip download <包名>==<版本号>),补充到离线目录后重新执行安装。
六、验证安装
执行以下命令确认安装成功:
airflow version
内容的提问来源于stack exchange,提问作者Numonjon
相关产品推荐
相关产品推荐

