Dear Airflow community,

Since there were a number (more than 4 already) of issues opened recently
when Connexion 3 broke installation of the released Airflow version a few
days ago - I have a short reminder on how to install Airflow in a
reproducible way.

If you want to make sure released Airflow installs in a reproducible way
from the scratch - now and in the future, the only way to achieve that is
described here:

https://airflow.apache.org/docs/apache-airflow/stable/installation/installing-from-pypi.html

It involves using constraints. It only works with `pip`. There are no other
ways and other tools that can be achieved easily, so we strongly recommend
you use `pip` when installing Airflow.

Example installation command for airflow with celery extra and Python
version 3.8 is here:

pip install "apache-airflow[celery]==2.7.2" --constraint "
https://raw.githubusercontent.com/apache/airflow/constraints-2.7.2/constraints-3.8.txt
"

If you **just** install airflow without constraints, situations like this
with Connexion breaking our installation might, and WILL happen and we have
no way to prevent this from happening if you are not using constraints.

If you want to understand why and get some more insights on how to add your
custom dependencies as the next step - you can watch my talk from
September's Airflow Summit in Toronto where I explain how to do it (and why
we need to follow this approach for Airflow):

https://www.youtube.com/watch?v=zPjIQjjjyHI

J.

Reply via email to