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

Unable to install with python 3.12 due to problems with numpy #710

Closed amaxcz closed 1 month ago

amaxcz commented 1 month ago

` pip install 'eland[pytorch]' Collecting eland[pytorch] Using cached eland-8.12.1-py3-none-any.whl.metadata (13 kB) Collecting elasticsearch<9,>=8.3 (from eland[pytorch]) Using cached elasticsearch-8.14.0-py3-none-any.whl.metadata (7.2 kB) Collecting pandas<2,>=1.5 (from eland[pytorch]) Using cached pandas-1.5.3.tar.gz (5.2 MB) Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Collecting matplotlib>=3.6 (from eland[pytorch]) Using cached matplotlib-3.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB) Collecting numpy<2,>=1.2.0 (from eland[pytorch]) Using cached numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB) Collecting packaging (from eland[pytorch]) Using cached packaging-24.1-py3-none-any.whl.metadata (3.2 kB) INFO: pip is looking at multiple versions of eland[pytorch] to determine which version is compatible with other requirements. This could take a while. Collecting eland[pytorch] Using cached eland-8.12.0-py3-none-any.whl.metadata (13 kB) Using cached eland-8.11.1-py3-none-any.whl.metadata (13 kB) Using cached eland-8.11.0-py3-none-any.whl.metadata (13 kB) Collecting numpy<1.24,>=1.2.0 (from eland[pytorch]) Using cached numpy-1.23.5.tar.gz (10.7 MB) Installing build dependencies ... done Getting requirements to build wheel ... error error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> [33 lines of output] Traceback (most recent call last): File "/home/amaxcz/src/notix/ai/machine-learning/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in main() File "/home/amaxcz/src/notix/ai/machine-learning/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main json_out['return_val'] = hook(**hook_input['kwargs']) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/amaxcz/src/notix/ai/machine-learning/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 112, in get_requires_for_build_wheel backend = _build_backend() ^^^^^^^^^^^^^^^^ File "/home/amaxcz/src/notix/ai/machine-learning/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 77, in _build_backend obj = import_module(mod_path) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/importlib/init.py", line 90, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 1387, in _gcd_import File "", line 1360, in _find_and_load File "", line 1310, in _find_and_load_unlocked File "", line 488, in _call_with_frames_removed File "", line 1387, in _gcd_import File "", line 1360, in _find_and_load File "", line 1331, in _find_and_load_unlocked File "", line 935, in _load_unlocked File "", line 995, in exec_module File "", line 488, in _call_with_frames_removed File "/tmp/pip-build-env-pi0p083h/overlay/lib/python3.12/site-packages/setuptools/init.py", line 16, in import setuptools.version File "/tmp/pip-build-env-pi0p083h/overlay/lib/python3.12/site-packages/setuptools/version.py", line 1, in import pkg_resources File "/tmp/pip-build-env-pi0p083h/overlay/lib/python3.12/site-packages/pkg_resources/init.py", line 2172, in register_finder(pkgutil.ImpImporter, find_on_path) ^^^^^^^^^^^^^^^^^^^ AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'? [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip. `

davidkyle commented 1 month ago

Eland does not currently support Python 3.12 because the version of PyTorch used (2.1.2) is not compatible with Python 3.12.

I've opened #711 to track the upgrade requirement.