0

我们当前的系统使用 apache-airflow 1.10.12。我们需要气流 2.* 中提供的一些课程。气流文档建议使用 backport 包在气流 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(这就是前面提到的消息引发大量错误的地方)。
4

2 回答 2

1

首先,Airflow 1.10.* 已于 2021 年 6 月 17 日终止使用。社区不再支持它,也不会再收到任何修复 - 甚至不是关键的安全修复。事实上,Airflow 2 中已经有一些安全修复程序已经修复,但它们在 1.10 中没有修复并且永远不会修复,因此您应该尽快升级到 Airflow 2,否则您的业务将面临风险。您可以在两周前的 Airflow 峰会讨论小组中了解更多信息:保持您的 Airflow 安全

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

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

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

另一方面pip,最近在解析器和一般解析能力以及避免/解决冲突方面取得了巨大进展。

使用 1.10.12 安装气流的官方方法在这里。只需按照它: https ://airflow.apache.org/docs/apache-airflow/1.10.12/installation.html

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

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

于 2021-07-26T06:52:43.010 回答
0

要安装气流供应商 google,您需要气流 2.1+ apache-airflow-providers-google

于 2021-11-23T13:07:50.587 回答