Skip to content
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

Open
wants to merge 1 commit into
base: 4.x
Choose a base branch
from
Open

Conversation

bryankaplan
Copy link

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.

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.
@Avasam
Copy link

Avasam commented Aug 1, 2024

This should close #993 as well, and possibly #1005

@@ -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",
Copy link

@Avasam Avasam Aug 1, 2024

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:

Suggested change
"setuptools>=59.2.0",
"setuptools>=59.2.0,<71.0.0",

Leaving this to the maintainers whether that's a concern 😄

Copy link
Author

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.

Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Build from source python 3.12 fails
2 participants