Skip to content

Airflow 2.6.1 Constraints Inconsistency prevents custom install of Sphinx #31366

Closed as not planned
@jscheffl

Description

@jscheffl

Apache Airflow version

2.6.1

What happened

See also discussion in Slack: https://apache-airflow.slack.com/archives/CCQ7EGB1P/p1684331895556709

We use Airflow based on docker image apache/airflow:2.6.1-python3.8 and build custom PIP packages on-top. Of course following the setup guide we source the constraints 3.8.txt alongside to keep a consistent setup.

With the upgrade to Airflow 2.6.1 we are trying to install Sphinx which is pinned to 5.3.0, this sources the dependency of docutils. Constraints pins this to 0.20. Install of Sphinx fails with a dependency error:

ERROR: Cannot install sphinx==5.3.0 because these package versions have conflicting dependencies.

The conflict is caused by:
    sphinx 5.3.0 depends on docutils<0.20 and >=0.14
    The user requested (constraint) docutils==0.20

How

What you think should happen instead

Pip install of Sphinx should be possible with the standard constraints.

How to reproduce

Run:

  • docker run -it apache/airflow:2.6.1-python3.8 bash
  • pip install sphinx --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.6.1/constraints-3.8.txt"

Operating System

Ubuntu 20.04

Versions of Apache Airflow Providers

Default provider packages

Deployment

Official Apache Airflow Helm Chart

Deployment details

n/a

Anything else

Workaround: Patch docutils down to 0.19 manually in downloaded constraints-3.8.txt
This was the version used in Airflow 2.6.0

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions