从 GitHub 在 debian 8 上安装 Apache Airflow 1.9

Apache Airflow 1.9 install on debian 8 from GitHub

感谢 debian 9 上的命令行:pip install git+https://github.com/apache/incubator-airflow.git@v1-9-stable

,我从 GitHub 安装了 Apache airflow 1.9

但是,我在airflow initdb过程中遇到了一个由Fernet引起的错误,你知道如何解决这个问题吗?

   INFO  [alembic.runtime.migration] Running upgrade 947454bf1dff -> d2ae31099d61, Increase text size for MySQL (not relevant for other DBs' text types)
    [2017-12-27 17:19:24,586] {models.py:643} ERROR - Failed to load fernet while encrypting value, using non-encrypted value.
    Traceback (most recent call last):
      File "/usr/local/lib/python2.7/dist-packages/airflow/models.py", line 639, in set_extra
        fernet = get_fernet()
      File "/usr/local/lib/python2.7/dist-packages/airflow/models.py", line 103, in get_fernet
        raise AirflowException('Failed to import Fernet, it may not be installed')
    AirflowException: Failed to import Fernet, it may not be installed
    [2017-12-27 17:19:24,601] {models.py:643} ERROR - Failed to load fernet 

以及如何从我之前使用 GitHub 安装的 pip 命令中像 pip install apache-airflow[gcp-api] 那样指定额外的包?

如何安装最新的1.9.0RC?我有一个断言错误。

在从源代码安装期间,您必须替换 airflow.cfg 中的 fernet_key,如您可以在文档 here.

中找到的那样

标记为好的答案有一个损坏的 link,如果您像我一样来到这里并且它继续损坏,这些步骤对我有用:

  • pip install cryptography
  • python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
  • 将生成的密钥添加到配置文件airflow.cfgfernet_key = YOUR_GENERATED_KEY

在 apache-airflow 文档中,生成 fernet 密钥的脚本显然是错误的。 它说要使用以下脚本。

from cryptography.fernet import Fernet
fernet_key= Fernet.generate_key()
print(fernet_key) # your fernet_key, keep it in secured place!

但它在 'airflow initdb' 命令处引发异常。 要解决此问题而不是 Fernet.generate_key(),请使用 Fernet.generate_key().decode(),如@skozz 答案所示。