You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker部署Apache Airflow扩展依赖报错:找不到setuptools.extern.six模块

修复Docker构建Airflow镜像时的ModuleNotFoundError: No module named 'setuptools.extern.six'错误

问题根源

错误源于setuptools 66.0.0及以上版本移除了setuptools.extern.six模块,而你指定安装的numpy 1.21.1和scikit-learn 0.24.2依赖这个模块,导致安装过程中触发找不到模块的报错。


解决方案

以下是三种可行的修复方式:

方案1:降低setuptools到兼容版本

将setuptools指定为65.x系列(比如65.5.1),该版本仍保留setuptools.extern.six,与旧版numpy/scikit-learn兼容。修改后的Dockerfile:

FROM apache/airflow:2.9.2
COPY requirements.txt /requirements.txt
RUN pip install --upgrade pip
RUN pip install -U pip setuptools==65.5.1 wheel
RUN pip install --no-cache-dir -r /requirements.txt

注:移除了重复的pip install -r /requirements.txt命令,避免重复安装浪费资源

方案2:升级numpy和scikit-learn到兼容新版本

升级依赖到不依赖setuptools.extern.six的版本,例如:
修改requirements.txt:

numpy >= 1.23.0
scikit-learn >= 1.0.0

同时可以保留setuptools 66.0.0或使用Airflow基础镜像自带的版本,Dockerfile可简化为:

FROM apache/airflow:2.9.2
COPY requirements.txt /requirements.txt
RUN pip install --upgrade pip
RUN pip install --no-cache-dir -r /requirements.txt

方案3:单独安装six模块

直接安装six库,让旧版numpy/scikit-learn通过全局six模块替代setuptools.extern.six:
修改Dockerfile:

FROM apache/airflow:2.9.2
COPY requirements.txt /requirements.txt
RUN pip install --upgrade pip
RUN pip install -U pip setuptools==66.0.0 wheel six
RUN pip install --no-cache-dir -r /requirements.txt

内容的提问来源于stack exchange,提问作者Vadim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 23:04:58