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

MacOS Mojave环境下安装Apache Airflow 2.6.3失败:编译google-re2时出现大量报错

MacOS Mojave环境下安装Apache Airflow 2.6.3失败:编译google-re2时出现大量报错

我之前在MacOS Mojave环境里装Airflow的时候也碰到过几乎一模一样的问题,核心原因就是系统默认的编译工具没有启用C++11标准,再加上手动安装的pybind11和Airflow约束文件指定的版本不兼容,导致google-re2编译失败。给你几个亲测有效的解决步骤:

  • 第一步:更新Xcode Command Line Tools
    Mojave自带的编译工具链版本偏老,对C++11的支持不够完善,先执行命令更新:

    xcode-select --install
    

    如果已经安装过,系统会提示你,这一步能解决很多旧工具带来的编译兼容性问题。

  • 第二步:设置编译环境变量,强制启用C++11标准
    google-re2的源码编译必须依赖C++11及以上标准,但Mojave的clang(系统显示的gcc其实是clang的伪装)默认不会自动开启这个标准。我们需要设置环境变量让pip编译时带上参数:

    export CXXFLAGS="-std=c++11"
    export CFLAGS="-std=c++11"
    

    要是你用zsh,把这两行追加到~/.zshrc里;用bash的话就加到~/.bash_profile,这样每次打开终端都会自动生效,不用每次都手动输入。

  • 第三步:卸载手动安装的pybind11,改用Airflow约束文件指定的版本
    你之前手动安装的pybind11版本大概率和Airflow约束文件里要求的不匹配,这会导致编译时的冲突。先卸载掉手动装的版本:

    pip uninstall -y pybind11
    

    然后重新运行Airflow的安装命令(注意你原来的命令里多了一个单引号,要去掉):

    pip install apache-airflow==2.6.3 \
      --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.6.3/constraints-3.8.txt"
    
  • 如果上述步骤还是不行,单独编译安装google-re2
    先单独处理google-re2的安装,强制用指定的编译参数:

    pip install google-re2 --no-binary :all: --install-option="--cxxflags=-std=c++11"
    

    等google-re2安装成功后,再重新执行Airflow的安装命令即可。

另外提醒一下,Mojave是比较老的系统了,Python3.8虽然在支持范围内,但部分依赖的编译确实需要手动干预,确保你的虚拟环境是干净的,没有其他无关依赖干扰。

备注:内容来源于stack exchange,提问作者Ryan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 08:18:07