-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
ARROW-14968: [Python] Pin numpy build dependency using oldest-supported-numpy #11606
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
cython>=0.29 | ||
numpy>=1.16.6 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We may need to keep this. |
||
setuptools>=38.6.0 | ||
oldest-supported-numpy | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. AFAIK this shouldn't be added here, this is purely a dependency for the build environment that pip creates There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, seems like we use this for development. |
||
setuptools_scm | ||
setuptools>=38.6.0 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,5 @@ | ||
cython>=0.29.11 | ||
setuptools>=58 | ||
oldest-supported-numpy | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. same here, this file shouldn't be change AFAIK There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It would be better if we could rely on There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ah, so we use this file to manually create the "build environment", from where we call Now, I think the "proper" solution would be to stop using There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Let's keep the requirements files for now and defer the |
||
setuptools_scm | ||
setuptools>=58 | ||
wheel | ||
numpy==1.19.4; platform_system == "Linux" and platform_machine == "aarch64" and python_version <= "3.9" | ||
numpy==1.21.3; platform_system == "Linux" and platform_machine == "aarch64" and python_version > "3.9" | ||
numpy==1.16.6; platform_system == "Linux" and platform_machine != "aarch64" and python_version < "3.9" | ||
numpy==1.19.4; platform_system == "Linux" and platform_machine != "aarch64" and python_version == "3.9" | ||
numpy==1.21.3; platform_system == "Linux" and platform_machine != "aarch64" and python_version > "3.9" | ||
numpy==1.21.3; platform_system == "Darwin" and platform_machine == "arm64" | ||
numpy==1.16.6; platform_system == "Darwin" and platform_machine != "arm64" and python_version < "3.8" | ||
numpy==1.19.4; platform_system == "Darwin" and platform_machine != "arm64" and python_version >= "3.8" and python_version <= "3.9" | ||
numpy==1.21.3; platform_system == "Darwin" and platform_machine != "arm64" and python_version > "3.9" | ||
numpy==1.16.6; platform_system == "Windows" and python_version < "3.9" | ||
numpy==1.19.4; platform_system == "Windows" and python_version == "3.9" | ||
numpy==1.21.3; platform_system == "Windows" and python_version > "3.9" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We may need to add
numpy>=1.16.6
here as well.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, there are older numpy versions pinned for python < 3.8: https://github.com/scipy/oldest-supported-numpy/blob/master/setup.cfg#L44-L46
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't support numpy <= 1.16.6? Do you remember the reason?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Based on the blame it points to numpy/numpy#17913.
I guess the latest crossbow builds should fail if the pin is still required.
cc @xhochy
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oldest-supported-numpy
should be >=1.17, so no need to enforce this?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we already worked around the issue: #8834
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I searched for
PyArray_DescrCheck
across the codebase and didn't find any occurrences, so hope that pinning is not necessary.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder what do we need in
install_requires
: https://github.com/apache/arrow/blob/master/python/setup.py#L572Just keep as is?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's not change it if it doesn't annoy anyone.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I don't think this needs to be changed.
oldest-supported-numpy
is about build dependencies, not runtime install dependencies