elastic / eland

Python Client and Toolkit for DataFrames, Big Data, Machine Learning and ETL in Elasticsearch
https://eland.readthedocs.io
Apache License 2.0
635 stars 98 forks source link

Start supporting Python 3.11 #598

Closed bartbroere closed 11 months ago

bartbroere commented 12 months ago

The issue of PyTorch not supporting Python 3.11 (pytorch/pytorch#86566) seems to have been resolved. I did not see any apparent other issues with supporting Python 3.11 in the code.

davidkyle commented 11 months ago

Testing this I found it is not possible to install torch 1.13.1 with Python3.11.

Using pip install with Python 3.10 the install is successful:

/Library/Frameworks/Python.framework/Versions/3.10/bin/python3.10 -m pip install torch==1.13.1

With Python 3.11 the same install fails

/Library/Frameworks/Python.framework/Versions/3.11/bin/python3.11 -m pip install torch==1.13.1
ERROR: Could not find a version that satisfies the requirement torch==1.13.1 (from versions: 2.0.0, 2.0.1)
ERROR: No matching distribution found for torch==1.13.1

It looks like PyTorch 1.13.1 does not support Python 3.11, we will have to upgrade to PyTorch 2.0 for that support

@bartbroere did you get a different result?

pquentin commented 11 months ago

PyTorch 1.13.1 only supports Python 3.11 on Linux, not on Windows or macOS, per the "cp311" files in https://pypi.org/project/torch/1.13.1/#files. It seems OK to support Python 3.11 on Linux but not on other platforms, but I'm biased as a Linux user :)

davidkyle commented 11 months ago

Thanks @pquentin, allowing the option of using Python 3.11 generally will break model upload for too many users.

@bartbroere unless you have an objection I'd like to close this PR without merging as neither macOS or Windows users can use Python 3.11 with PyTorch 1.13.1

bartbroere commented 11 months ago

Good discussion, and apologies I may not have had the right environment during testing this locally! I closed this pull request, since I agree it's wise not to merge this one until a newer Pytorch is supported.