potiuk edited a comment on pull request #22162: URL: https://github.com/apache/airflow/pull/22162#issuecomment-1064577920
> Hmmm _something_ is still keeping it at pandas v1.3.5. I guess it's still using the constraints from main for this build? The "Eager upgrade" builds running when setup.py and setup.cfg change (or run in `main`) do not use constraints at all. My bext guess is some of the dependencies in google provider (apache-beam) - but this is coming more from intuition and guess. Unfortunately (and @uranusjr might have some other tricks which I am not aware of) it might be not easy guess if this is done through an extra (or even transitive extra as it happens) because `pip` only uses extra's limitations during installation, and any metadata connected to extra limitations is not available for inspection after installation is complete. The way to check it (at least what I use): 1) Check with `pipdeptree` - if this is not an extra-originated limit - you will see the limit there ``` docker run -it ghcr.io/apache/airflow/main/ci/python3.7:2276fd417180d89da60d661023bf9b48d6b71c7f bash ``` Then run: ``` pipdeptree | ls ``` Then look for pandas. 2) You can also take look at `pip logs` (starting here : https://github.com/apache/airflow/runs/5501411485?check_suite_focus=true#step:10:2520) and try to guess from the logs where the limitation came from. But so far I think it did not have an information that could allow to determine it easliy. The change is coming in `pip` to make the log more useful to track the source of conflicts (https://github.com/pypa/pip/pull/10937), and I hope it's going to help a lot, but for now I could not really figure out much from the log. 3) Guess (intelligently). There are a few big packages with lots of dependencies. Apache Beam is one but few other google and amazon depencies that are the usual culprits, so the problem space is usually much smaller than 580 dependencies we have. What's helpful here is https://pypi.org/pypi/PACKAGE/json and specifically https://pypi.org/pypi/PACKAGE/VERSION/json that can help as it contains the meta-data. But when it comes to extras and transitive extras it's more of a manual effort than automation, I think it's rather dificult to replicate what `pip` does fully (because of the complexity of qualifiers for example) but it is useful for manual verification as you do not have to download and unpack pacjage -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
