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

macOS 14.1.1安装Apache Airflow时无法安装google-re2的问题

解决Apache Airflow安装时google-re2构建wheel失败的问题

问题根源

这个编译错误是因为google-re2依赖的abseil-cpp版本与re2自身版本不兼容,导致C++层面absl::string_view无法直接转换为const re2::StringPiece,Python 3.11环境下这类版本冲突更容易触发。

可行解决方案

1. 指定兼容的google-re2版本

直接安装经过验证、适配Python 3.11的google-re2版本,避免自动拉取存在兼容问题的最新版:

pip install google-re2==1.1.1

完成后再继续安装Apache Airflow:

pip install apache-airflow

2. 锁定abseil版本并禁用构建隔离

先安装与google-re2兼容的abseil-cpp绑定版本,再禁用pip的构建隔离(强制使用当前环境已安装的依赖,而非重新拉取可能冲突的版本):

pip install absl-py==1.4.0
pip install google-re2 --no-build-isolation

3. 使用预编译wheel包跳过本地构建

如果你的系统是x86_64等常见架构,可直接在PyPI上搜索google-re2,找到对应Python 3.11的预编译wheel包(文件名含cp311标识),下载后本地安装,绕开编译步骤:

pip install /path/to/your/downloaded/google_re2-xxx-cp311-cp311-xxx.whl

4. 修改源码补丁后重新编译

如果必须从源码构建,找到报错的_re2.cc文件第125行,手动添加类型转换代码,解决类型不匹配问题:
将原代码中传递absl::string_view参数的位置,替换为re2::StringPiece类型的构造调用:

// 示例修改:
// 原代码
re2::RE2::FullMatch(input, pattern, absl_string_view_var);
// 修改后
re2::RE2::FullMatch(input, pattern, re2::StringPiece(absl_string_view_var.data(), absl_string_view_var.size()));

修改完成后,重新执行安装并清除缓存:

pip install google-re2 --no-cache-dir

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 05:58:20