从源代码安装

已发布的软件包

本页面介绍如何下载并验证Airflow®版本2.10.5,使用官方发布的软件包。 您也可以通过PyPI安装Apache Airflow,就像大多数Python包一样。 您可以通过页面左上角的下拉菜单选择不同版本的Airflow。

发布的sourcesdistwhl软件包是"官方"安装源,当您需要验证软件包来源并检查软件包的校验和签名时可以使用。这些软件包可通过Apache软件基金会官方下载站点获取。

从2.8版本开始,Airflow遵循PEP 517/518标准,使用pyproject.toml文件来定义构建依赖项和构建流程。由于采用了符合PEP 517标准的构建钩子来确定动态构建依赖项,因此从本地源码或sdist包构建Airflow需要相对较新版本的打包工具。对于pip而言,这意味着至少需要22.1.0版本(2022年初发布)才能从源码构建或安装Airflow。这并不影响从已发布的wheel包安装Airflow的能力。

Airflow® 2.10.5版本的下载地址如下:

如果您想从源代码安装,可以从上方的源代码链接下载,其中会包含一个INSTALL文件,详细说明如何构建和安装Airflow。

发布完整性

PGP签名密钥

必须使用PGP或SHA签名验证下载文件的完整性。 PGP签名可以使用GPG或PGG进行验证。请下载相关发行版的KEYS文件以及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.10.5-source.tar.gz.asc apache-airflow-2.10.5-source.tar.gz
  gpg: Signature made Sat 11 Sep 12:49:54 2021 BST
  gpg:                using RSA key CDE15C6E4D3A8EC4ECF4BA4B6674E08AD7DE406F
  gpg:                issuer "kaxilnaik@apache.org"
  gpg: Good signature from "Kaxil Naik <kaxilnaik@apache.org>" [unknown]
  gpg:                 aka "Kaxil Naik <kaxilnaik@gmail.com>" [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

"Good signature from ..." 表示签名是正确的。 不必担心"not certified with a trusted signature"警告。大多数发布经理使用的证书都是自签名的,这就是为什么会出现这个警告。通过在前一步导入服务器并通过KEYS页面中的ID导入它,您已经知道这是一个有效的密钥。

要进行SHA512校验,请下载对应的sha512文件并运行以下命令:

shasum -a 512 apache-airflow--********  | diff - apache-airflow--********.sha512

文件的SHASUM应与.sha512文件中提供的值匹配。

示例:

shasum -a 512 apache-airflow-2.10.5-source.tar.gz  | diff - apache-airflow-2.10.5-source.tar.gz.sha512

验证PyPI版本

您可以通过本地下载Airflow的.whl包及其签名和SHA校验文件来验证PyPI上的包,使用以下脚本:

#!/bin/bash
AIRFLOW_VERSION="2.10.5"
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

按照前一章节的指引验证文件后,您可以删除创建的临时文件夹。

这篇内容对您有帮助吗?