-
Notifications
You must be signed in to change notification settings - Fork 839
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
Support python 3.12 #1012
base: 4.x
Are you sure you want to change the base?
Support python 3.12 #1012
Conversation
Currently, opencv-python fails to build under python 3.12. This patch fixes that problem by permitting the use of any setuptools>=59.2.0, rather than mandating that specific version. This patch fixes opencv#988. See discussion there for details. I have tested by successfully installing opencv-python.
@@ -9,5 +9,5 @@ requires = [ | |||
"numpy>=2.0.0; python_version>='3.9'", | |||
"pip", | |||
"scikit-build>=0.14.0", | |||
"setuptools==59.2.0", | |||
"setuptools>=59.2.0", |
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 normally wouldn't recommend pinning setuptools on an upperbound unless you have an explicit reason, but v71 changed how it vendors its dependencies in a major way. https://setuptools.pypa.io/en/latest/history.html#v71-0-0
Where it'll prefer already installed deps over its vendors. This can cause issues if the environment has an older version of a dep installed (which wasn't problematic before for setuptools, as it'd use it's own vendor anyway).
Note that running pip install setuptools[core]
would install the necessary dependencies along with setuptools.
Given the various distributions and dockerization of opencv-python, it might be warranted to progressively relax this pin by first going to:
"setuptools>=59.2.0", | |
"setuptools>=59.2.0,<71.0.0", |
Leaving this to the maintainers whether that's a concern 😄
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'm reticent to introduce an upper-bound with neither any observed problems nor a plan to fix any anticipated problems. But I'm happy to commit the suggestion if maintainers agree it's prudent.
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 same, figured I'd at least let it be known.
Currently, opencv-python fails to build under python 3.12. This patch fixes that problem by permitting the use of any setuptools>=59.2.0, rather than mandating that specific version.
This patch fixes #988. See discussion there for details.
I have tested by successfully installing opencv-python.