依赖项¶
Airflow 附加依赖项¶
基本的 apache-airflow
PyPI 包只安装开始使用所需的内容。根据您的环境中可能需要的功能,可以安装额外的包。例如,如果您不需要与 PostgreSQL 的连接,您就不必费心安装 postgres-devel
yum 包,或者您使用的发行版上适用的任何等效包。
大多数附加依赖项都与相应的 provider 包关联。例如,“amazon” extra 对应需要安装的 apache-airflow-providers-amazon
provider 包。当您使用这些 extra 安装 Airflow 时,所需的 providers 会自动安装(这些包的最新 PyPI 版本)。但是,您可以独立于主 Airflow 安装自由升级和安装 providers。
有关 extras 列表及其启用功能的信息,请参见:包 extras 参考。
Provider 分发包¶
与 Apache Airflow 1.10 不同,Airflow 2.0 以多个独立但相互关联的包形式交付。Airflow 调度系统的核心以 apache-airflow
包形式交付,并且有大约 60 个 providers 可以单独安装,称为 Airflow providers
。默认的 Airflow 安装没有很多集成功能,您需要自己安装它们。
您甚至可以为 Airflow 开发和安装自己的 providers。更多信息请参见:Providers
有关 providers 列表及其启用功能的信息,请参见:Provider 包参考。
Extras 与 Provider 的区别¶
为了避免混淆 extras 与 providers:Extras 和 providers 是不同的事物,尽管许多 extras 会导致安装 providers。
Extras 是标准的 Python setuptools 特性,允许将一组额外的依赖项作为可选功能添加到 Apache Airflow 的“核心”中。其中一种可选功能类型就是 provider 包,但并非所有 Apache Airflow 的可选功能都有相应的 providers。
我们使用 extras
setuptools 特性来安装 providers。大多数 extras 也与 providers 关联(同名)——例如,添加 [google]
extra 也会添加 apache-airflow-providers-google
作为依赖项。但是,有些 extras 不安装 providers(例如 github_enterprise
、kerberos
、async
—— 它们添加了一些额外的依赖项,这些依赖项是 Airflow 的上述附加功能所需的。上述三个例子分别添加了 GitHub Enterprise OAuth 认证、Kerberos 集成或 Gunicorn 的异步 worker。这些都没有 providers,它们只是通过新功能扩展了 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