依赖项

Airflow 额外依赖项

apache-airflow PyPI 基本包仅安装启动所需的组件。可以根据您的环境需求安装其他软件包。例如,如果您不需要与 Postgres 的连接,则无需费力安装 postgres-devel yum 包,或者您所使用发行版上的任何等效包。

大多数额外的依赖项都链接到相应的提供程序包。例如,“amazon” 额外依赖项具有相应的 apache-airflow-providers-amazon 提供程序包需要安装。当您安装带有此类额外依赖项的 Airflow 时,将自动安装必要的提供程序包(这些包的 PyPI 最新版本)。但是,您可以自由地独立于主 Airflow 安装升级和安装提供程序包。

有关额外依赖项及其启用功能的列表,请参阅:软件包额外依赖项参考

提供程序包

与 Apache Airflow 1.10 不同,Airflow 2.0 以多个独立但相互关联的软件包交付。Airflow 调度系统的核心以 apache-airflow 包交付,并且大约有 60 个提供程序包可以单独安装,称为 Airflow Provider packages。默认的 Airflow 安装没有很多集成,您必须自己安装它们。

您甚至可以为 Airflow 开发和安装自己的提供程序。有关更多信息,请参阅:提供程序包

有关提供程序包及其启用功能的列表,请参阅:提供程序包参考

额外依赖项和提供程序之间的差异

为了防止额外依赖项与提供程序包混淆:额外依赖项和提供程序是不同的事物,尽管许多额外依赖项会导致安装提供程序。

额外依赖项是标准的 Python setuptools 功能,允许将其他依赖项集作为 Apache Airflow “核心”的可选功能添加。其中一种可选功能是提供程序包,但并非 Apache Airflow 的所有可选功能都具有相应的提供程序。

我们使用 extras setuptools 功能来安装提供程序包。大多数额外依赖项也与提供程序包链接(名称相同)- 例如,添加 [google] 额外依赖项也会添加 apache-airflow-providers-google 作为依赖项。但是,有些额外依赖项不安装提供程序(例如 github_enterprisekerberosasync - 它们添加了这些 extra Airflow 功能所需的额外依赖项)。上述三个示例分别添加了 GitHub Enterprise OAuth 身份验证、Kerberos 集成或 Gunicorn 的异步工作程序。这些都没有提供程序,它们只是用新功能扩展了 Apache Airflow 的“核心”包。

系统依赖项

您需要某些系统级要求才能安装 Airflow。这些要求是 Linux Debian 发行版已知需要的。

Debian Bookworm (12)

Debian Bookworm 是我们开发和测试的首选平台。它是最新的 Debian 发行版,也是我们用于 CI/CD 系统的发行版。它也是我们推荐用于开发、测试和生产使用的发行版。

sudo apt install -y --no-install-recommends apt-utils ca-certificates \
  curl dumb-init freetds-bin krb5-user libgeos-dev \
  ldap-utils libsasl2-2 libsasl2-modules libxmlsec1 locales libffi8 libldap-2.5-0 libssl3 netcat-openbsd \
  lsb-release openssh-client python3-selinux rsync sasl2-bin sqlite3 sudo unixodbc

此条目是否有帮助?