-
Notifications
You must be signed in to change notification settings - Fork 967
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
uv resolves to older numba version incompatible with python version #8863
Comments
Just to be extra sure, I just updated uv to v0.4.30 and still get the same. |
Probably a duplicate of #8157 |
Yeah, there's an extensive write-up on this here: #6281 (comment) |
Thanks! I saw those other discussions, what I'm confused by is why the Python version constraints are not respected. My assumption would be numba 0.53 wouldn't even be considered because of its python constraints, rather than the other dependency constraints. |
Are you referring to the |
Somewhat, but that happens when trying to install llvmlite. My impression would be that numba v0.53.1 shouldn't even be a candidate for resolving since it places an upper bound on the python version, which is then what leads to that error happening. I'm not sure when they started supporting python 3.12, but I would assume that's where the resolution would then start looking for a version compatible with the other dependencies and v0.53 wouldn't be considered. That said, I don't know anything about how dependency resolution works, so I could have an incorrect understanding!
|
Yeah, we don't respect upper-bounds on |
Thank you, that's very helpful! Now that I think about it, that sort of explicit upper bounding was exactly one of the issues I had with poetry and why I stopped using it even before uv came around. I suppose I'll just set my own numba version dependency in my package, although it feels like there's a more elegant solution. |
When attempting to add a new dependency to a fresh env which depends on numba, it fails to install with:
In my case, I am trying to install
scikit-maad
, which (as of v1.4.3) depends onresampy >=0.4
->numba>=0.53
. From a fresh venv with uv cache cleared, this resolves to v0.53.1 withHowever, numba v0.53.1 is incompatible with my pinned python v3.12:
I would expect that uv would handle this when resolving - recognise numba 0.53.1 is not compatible with python 3.12 and find a newer version which is, since higher versions are allowed by both resampy and scikit-maad. I'm not sure why it considers 0.53.1 'preferred'?
I can confirm it's not an actual dependency conflict - clearing uv cache and doing
uv add numba
first (which sets the dependency to the latestnumba>=0.60.0
), thenuv add scikit-maad
installs everything fine.The text was updated successfully, but these errors were encountered: