Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Support python 3.12
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.
  • Loading branch information
bryankaplan committed Dec 15, 2024
commit 218a392d1810a6c9fa974441fb6da13d881082ab
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bryankaplan Done, thank you

]
Loading