-
Notifications
You must be signed in to change notification settings - Fork 53
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
Update pip install pipline #461
Conversation
I don’t have much hope a fix will ever come from pypa… In the end we might need to pinpoint what exactly in our dependencies makes the resolver go astray. I’ll try to have a look at that. ----- BEGIN RANT ----- There’s a fine line between clever and stupid. Automatic dependency management programs try to be so clever that they wrap the cleverness counter and end up on the stupid side. ----- END RANT ----- |
Do you agree with the workaround for now? Any objections, other ideas? |
I will test this morning whether the workaround doesn't break anything on the arm64 (m1) architecture. I don't expect any problem, but you never know… Longer term, I wonder if maybe we should "lock" the versions of all the Python packages we're using, as suggested here. We find a set of versions for our packages that we know is working well, and we bake that into the ODK. We can then still update those packages from time to time, but at least we are not dependent on the (obviously broken) dependency resolver of pip every time we build the ODK… |
I was thinking the same thing. Locking is considered bad practice for packages, but for docker images like ODK it makes total sense to control the versions of the distributed python packages. In fact, I would even consider this right now. Here is the list:
Do you believe this to be the better solution? |
Your initial workaround works fine on M1. :) As for pinning each package to a version, I am not sure it is a better solution but I like it better than forcing the use of a legacy resolver that the pip developers may one day decide to remove from under us (and then we will be forced to address the issue – so I'd rather use a sane set of dependencies now instead of kicking the can down the road). However your list of versions does not seem to be the "sane set" we are looking for, since
|
Weird how the legacy resolver came up with rdflib 6, while its clearly not allowed :D Another reason for using the fixed dependecies. |
I merged this now as its blocking other stuff.. Made a follow up ticket here #463 |
We had huge issues with pip install and the resolver not working anymore properly.
pypa/pip#9187
That was a painful thing to do - not sure though how they will fix this or if its a problem on our end..