相依性¶
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 供應商 套件
單獨安裝。預設的 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