apache-airflow-backport-providers-google 无法安装 apache-airflow(1.10.12)

apache-airflow-backport-providers-google fails to install with apache-airflow(1.10.12)

我们当前的系统使用 apache-airflow 1.10.12。我们需要来自 airflow 2.* 中提供的提供商的一些 类。 airflow 文档建议使用 backport 包在 airflow 1.10 中使用这些 类。这将允许我们测试新的 类 而无需跳到气流 2。但是当我在核心气流之后安装反向端口依赖项时,我收到以下错误: 在抛出一堆警告和错误后,“无法添加包,将 pyproject.toml 恢复为其原始内容”。

您以前遇到过这个问题吗?无论如何您都能解决它吗?

要重新创建这些步骤,我是这样做的:

  1. poetry init
  2. poetry env use python3
  3. poetry shell
  4. poetry add apache-airflow="1.10.12"
  5. poetry add apache-airflow-backport-providers-google(这是前面提到的消息引发大量错误的地方)。

首先,Airflow 1.10.* 已于 2021 年 6 月 17 日结束生命周期。社区不再支持它,并且不会再收到任何修复程序——即使是关键的安全修复程序。事实上,Airflow 2 中已经有安全修复程序已经修复,但它们在 1.10 中没有修复,而且永远不会修复,因此您应该尽快升级到 Airflow 2,否则您的业务将面临风险。您可以在我们两周前在 Airflow 峰会上的讨论小组中找到更多相关信息:Keep your Airflow Secure.

现在不升级到 Airflow 2 是一个非常糟糕的主意(就像任何其他过时的软件一样),尤其是考虑到所有勒索软件攻击和一般的供应链攻击。

其次,你不应该使用诗歌来安装Airflow,即使是最新版本也不行。它不受支持。 Airflow 具有复杂的依赖关系,如果您想以可重现的方式安装 Airflow,则需要使用 pipconstraints 机制。

Poetry 对依赖项解析的看法非常固执和简单化,它没有约束支持,您将无法使用约束。在最新的文档中我们特别提到不建议使用poetry来安装airflow:https://airflow.apache.org/docs/apache-airflow/stable/installation.html#installation-tools

另一方面,pip 最近在解析器和一般解析功能以及 avoiding/resolving 冲突方面取得了巨大进步。

1.10.12安装airflow的官方方法在这里。跟着它: https://airflow.apache.org/docs/apache-airflow/1.10.12/installation.html

此外,可能 发生最新版本的向后移植提供程序会产生其他依赖性问题,因为它在 6 个多月前就已停止发布。在这种情况下,您可以尝试:

另请注意,backport providers 已在 6 个多月前停止发布,并且 airflow providers google 中有许多修复和改进,这使得迁移到 Airflow 2 变得更加重要。你的时间越长延迟不可避免的事情,你会遇到更多的问题(除了上述安全问题之外)

要安装 airflow providers google 你需要 airflow 2.1+ apache-airflow-providers-google