从源代码安装¶
已发布的软件包¶
本页面介绍如何使用官方发布的软件包下载和验证 Airflow™ 版本 2.9.2
。您也可以通过 PyPI 安装 Apache Airflow
(与大多数 Python 软件包一样)。您可以通过选择页面左上角下拉菜单中的不同版本来选择不同的 Airflow 版本。
发布的 source
、sdist
和 whl
软件包是“官方”安装源,如果您想验证软件包的来源并想验证软件包的校验和和签名,可以使用这些软件包。您可以通过 Apache 软件基金会官方下载 获取这些软件包。
从 2.8 版本开始,Airflow 遵循 PEP 517/518 并使用 pyproject.toml
文件来定义构建依赖项和构建过程,并且它需要相对较新版本的打包工具才能从本地源代码或 sdist
软件包构建 Airflow,因为使用符合 PEP 517 的构建钩子来确定动态构建依赖项。对于 pip
来说,这意味着至少需要 22.1.0 版本(2022 年初发布)才能从源代码构建或安装 Airflow。这不影响从已发布的 wheel 软件包安装 Airflow 的能力。
Airflow™ 2.9.2 下载地址如下:
如果要从源代码安装,可以从上面的源代码链接下载,它将包含一个 INSTALL
文件,其中包含有关如何构建和安装 Airflow 的详细信息。
版本完整性¶
使用 PGP 或 SHA 签名验证下载文件的完整性至关重要。可以使用 GPG 或 PGP 验证 PGP 签名。请下载密钥以及相关发行版的 asc 签名文件。建议从主发行版目录而不是镜像下载这些文件。
gpg -i KEYS
或
pgpk -a KEYS
或
pgp -ka KEYS
要验证二进制文件/源代码,您可以从主发行版目录下载相关的 asc 文件,并按照以下指南进行操作。
gpg --verify apache-airflow-********.asc apache-airflow-*********
或
pgpv apache-airflow-********.asc
或
pgp apache-airflow-********.asc
示例
$ gpg --verify apache-airflow-2.9.2-source.tar.gz.asc apache-airflow-2.9.2-source.tar.gz
gpg: Signature made Sat 11 Sep 12:49:54 2021 BST
gpg: using RSA key CDE15C6E4D3A8EC4ECF4BA4B6674E08AD7DE406F
gpg: issuer "[email protected]"
gpg: Good signature from "Kaxil Naik <[email protected]>" [unknown]
gpg: aka "Kaxil Naik <[email protected]>" [unknown]
gpg: WARNING: The key's User ID is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: CDE1 5C6E 4D3A 8EC4 ECF4 BA4B 6674 E08A D7DE 406F
“来自...的良好签名”表示签名正确。不要担心“未经受信任签名认证”的警告。发布管理器使用的大多数证书都是自签名的,这就是您收到此警告的原因。通过在前面的步骤中导入服务器并通过 ID 从 KEYS
页面导入它,您知道这是一个有效的密钥。
对于 SHA512 校验和检查,请下载相关的 sha512
并运行以下命令
shasum -a 512 apache-airflow--******** | diff - apache-airflow--********.sha512
文件的 SHASUM
应与 .sha512
文件中提供的相匹配。
示例
shasum -a 512 apache-airflow-2.9.2-source.tar.gz | diff - apache-airflow-2.9.2-source.tar.gz.sha512
验证 PyPI 版本¶
您可以通过使用以下脚本本地下载软件包和签名以及 SHA 校验和文件来验证 PyPI 中的 Airflow .whl
软件包
#!/bin/bash
AIRFLOW_VERSION="2.9.2"
airflow_download_dir="$(mktemp -d)"
pip download --no-deps "apache-airflow==${AIRFLOW_VERSION}" --dest "${airflow_download_dir}"
curl "https://downloads.apache.org/airflow/${AIRFLOW_VERSION}/apache_airflow-${AIRFLOW_VERSION}-py3-none-any.whl.asc" \
-L -o "${airflow_download_dir}/apache_airflow-${AIRFLOW_VERSION}-py3-none-any.whl.asc"
curl "https://downloads.apache.org/airflow/${AIRFLOW_VERSION}/apache_airflow-${AIRFLOW_VERSION}-py3-none-any.whl.sha512" \
-L -o "${airflow_download_dir}/apache_airflow-${AIRFLOW_VERSION}-py3-none-any.whl.sha512"
echo
echo "Please verify files downloaded to ${airflow_download_dir}"
ls -la "${airflow_download_dir}"
echo
按照上一章中的说明验证文件后,您可以删除创建的临时文件夹。