依赖项¶
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_enterprise
、kerberos
、async
- 它们添加了这些 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