依赖关系¶
Airflow 额外依赖项¶
apache-airflow PyPI基础包仅安装了入门所需内容。
根据您环境中的实际需求,可以安装额外的软件包。例如,如果您不需要与Postgres建立连接,
就无需费心安装postgres-devel yum包,或在您使用的发行版上安装等效的软件包。
大多数额外依赖项都与对应的provider包相关联。例如"amazon"额外依赖对应需要安装apache-airflow-providers-amazon provider包。当您安装带有此类额外依赖的Airflow时,这些必要的provider包会自动安装(从PyPI获取这些包的最新版本)。不过,您可以自由升级和独立于主Airflow安装来安装provider包。
有关扩展包列表及其功能的详情,请参阅:扩展包参考文档。
Provider 包¶
与Apache Airflow 1.10不同,Airflow 2.0以多个独立但相互关联的包形式发布。
Airflow调度系统的核心作为apache-airflow包发布,还有大约60个可单独安装的提供者包,称为Airflow Provider packages。
默认的Airflow安装不包含许多集成功能,需要用户自行安装。
您甚至可以开发和安装自己的Airflow提供商。更多信息, 请参阅:Provider packages
有关提供商包列表及其功能的详细信息,请参阅:Providers packages reference。
附加组件与提供者之间的区别¶
为了避免混淆extras和provider packages:Extras和providers是不同的东西,尽管许多extras会导致安装providers。
Extras是标准Python setuptools的功能,它允许将额外的依赖集作为可选特性添加到Apache Airflow的"核心"中。这类可选特性的一种是providers包,但并非Apache Airflow的所有可选特性都有对应的providers。
我们使用extras setuptools特性来安装供应商包。
大多数extras也与供应商包相关联(同名)——例如添加[google]
extra也会将apache-airflow-providers-google添加为依赖项。然而,有一些extras不会
安装供应商(例如github_enterprise、kerberos、async——它们添加了一些额外的
依赖项,这些依赖项是Airflow提到的那些extra功能所需的。上述三个例子
分别添加了GitHub企业版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