-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"check" does not consider extras and allow environments not possible to re-create with new resolver #9299
Comments
What version of pyarrow did you expect to have installed? |
According to the constraints file, |
Yep. With PIP 20.2.4:
And just to remind how it works - those constraints are fully automatically generated using pip freeze (using pip 20.2.4). I do not maintain them manually. So this just pip 20.2.4 telling pip 20.3 to install 0.17.1 in this case based on all the requirements of dependent packages. This is nothing we added from Airflow side. So it's either PIP 20.2.4 that is wrong, or PIP 20.3. |
Just to explain the way how we generate those constraints (we only use standard PIP tooling from 20.2.4):
|
So I think the questions here for us are
|
I think we gave you one of the most complex cases to look at ;) And with |
The problem seems to be with transitive extras in pandas-bgq. It requires It seems that PIP 20.2.4 lost the transitive extras in But this is a pure guess. |
Marking this as a bug because there is likely a bug somewhere. The bug is not necessarily in the new resolver, but the dependency resolution tag makes this easier to find. |
I have some GOOD NEWS this time. I did some experiments and manually upgraded the pyarrow version to 2.0.0 (despite eager upgrade in 20.2.4 not upgrading it). and ..... suddenly PIP@Master seems to work!
I do not see any any backtracking and it seems to be reasonably fast. Just repeated a fresh install (I uninstalled all installed packages before) - and suddenly it works. It seems with pyarrow 2.0.0 also PIP 20.2.4 works (even if with eager update strategy it did not upgrade pyarrow before). So indeed it looks like a bug with pip 20.2.4 that generated bad constraints and caused the new PIP to go haywire. I will manually update all the constraints now. |
I investigated into 3. How we could improve |
I manually upgraded all our constraints for master/2-0/2.0.0rc3 and we will get it also for 2.0. So it looks like we have a working solution before our release - day after tomorrow voting ends - as long PIP 20.3.2 gets released. Still for 1.10.14 it's not possible (we have pyarrow < 1.0.0 in one of the deps there - but this is not as big of an issue as with 2.0 instlall. While this is a little brittle (if one bad requirement can cause such a difference in behaviour), with our automated checks and pushing the full set of constraints when everything installs and tests pass, as soon as 20.3.2 gets released we can upgrade to it in our CI pipeline and keep it all under control. Once we run it for a while we can update our release docs and remove the 'downgrade to 20.2.4" warning then (at least for 2.0). Do you know when the 20.3.2 release can be expected @uranusjr ? |
20.3.3, later today. :) |
After manual updating of the PyArrow and testing PIP 20.3.3 it seems that Airflow installs now for 2.0.0rc3 with even complex combinations of extras. This clears up the path of releasing 2.0.0 - hopefully the day after tomorrow - without worrying about our user's experience. We still have a problematic extra (papermilll) that cannot be installed wit the new PyPI using the recommended method in 1.10.14 (current stable version) - but this is rarely used dependency and since we have a workaround (legacy resolver or PIP downgrading) this is not a high priority. We will likely release 1.10.15 in the coming weeks likely, and we will try to fix it then. We lowered priority/description of the issue apache/airflow#12838 and we will close it once our users confirm that all works for them after we release 2.0.0. We will also add 20.3.+ to our CI pipeline in the coming days so that we can test it all automatically also for future upgrades to PIP. Thanks for the fast reaction and resolution! |
Feel free to close the issue. |
Closing this since the check issue is tracked in #4086. |
I tried installing airflow 2.0.0rc3 with the new master version of PIP (to be 20.3.2).
When I run the same installation using 20.2.4 the whole install takes about 20 seconds when I already pre-installed some of the prerequisites and it produces consistent installation without any conflicts:
With PIP 20.3.2@master it takes about 30 minutes and fails producing "Cannot install" error:
The whole installation log is attached.
pip-20-3-2-master.txt
Installation environment:
Latest official Python 3.6 image with airflow dependencies (based on debian buster):
Installation method:
The easiest way to reproduce:
Related issues: #9298 #9297
The text was updated successfully, but these errors were encountered: