-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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 312 #6717
base: main
Are you sure you want to change the base?
Support python 312 #6717
Conversation
Here is the start of my PR - although the checks do not pass, just opening it up for initial comment. The current issue I'm seeing in CI is that I don't think there is a single version of Python 3.8 goes EOL in October of this year. Here's a few options I see:
I'm sure there may be other compatibility issues with packages but the CI just hasn't gotten far enough to see them yet. |
Hi @swheaton thanks for contributing Python 3.12 support! See the requirements.txt file format docs for specifying different package versions based on different Python versions: https://pip.pypa.io/en/stable/reference/requirements-file-format/ |
Ah thanks, learned something today! |
It goes further but looks like there are some C API changes in 3.12 that affect open3d. Googling around, this appears to be a common issue with python 3.12. This seems like a related S/O post (with no answer), since Seems related to cython/cython#5238, but I'm not sure what dependency to bump to get any available fixes there |
TensorFlow updated to v2.16.1 |
scipy==1.10.1; python_version < "3.12" | ||
scipy==1.11.4; python_version >= "3.12" | ||
tensorboard==2.13.0; python_version < "3.12" | ||
tensorboard==2.16.2; python_version >= "3.12" |
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.
TensorBoard version must match the TensorFlow version. Supporting different tensorflow or tensorboard versions in a single release is not feasible.
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 see. tensorflow version comes from that other file, ci_utils.sh
. Might not be a clean way to match these if we differentiate between versions like 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.
The requirements files are the "source of truth" for versions. For other places (e.g. CI), we just need to ensure that the versions match.
PS: Different versions of scipy are OK since we only consume the Python API, unlike with tensorboard / tensorflow where there is a much deeper C++ / Python interaction.
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.
Well tensorflow is not in any requirements file, that I can see at least. But I can make it match. I'm just saying, may not be that clean
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.
Per my latest mainline comment, I am seeing now that it exists as a requirement in the Open3D-ML repo, so that will need to line up as well. But in the build scripts, the ML requirements files are only used some of the time
Note to self, also need to update open3d-ml repo, similar to isl-org/Open3D-ML#619 |
Thanks for working on this! Python 3.12 support requests for Open3D will likely increase once Ubuntu 24.04 LTS is released on April 25 (in two weeks). This is because Ubuntu 24.04 ships with Python 3.12 installed by default |
Hi, my engineering team is moving all our projects to Python 3.12 and Open3D is one of the projects that isn't supported by Python 3.12 yet. I am wondering if support for 3.12 will come soon, or should we consider going down 1 version and use Python 3.11 instead. Thanks! |
Will support for 3.12 have to wait until the 0.19 release or will 3.12 support be available for 0.18 once this PR is completed? |
Type
Motivation and Context
Closes #6433
Add support for python 3.12
Checklist:
python util/check_style.py --apply
to apply Open3D code styleto my code.
updated accordingly.
results (e.g. screenshots or numbers) here.
Description