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

Installation fails on Archlinux with Python 3.12 #35

Closed
cleinias opened this issue Aug 21, 2024 · 2 comments
Closed

Installation fails on Archlinux with Python 3.12 #35

cleinias opened this issue Aug 21, 2024 · 2 comments

Comments

@cleinias
Copy link

Installation fails on an updated Archlinux bix, which uses python 3.12. The problem is with the pkgutil.ImpImporter call. ImpImporter has been removed in python 3.12. I am not sure whether the issue is with numpy or with setuptools or both---I found conflicting info on line. Here is the trace:

`(venv) stefano@gorgias ocr_translate $ pip install .
Processing /home/stefano/builds/from-upstream-sources/ocr_translate
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting numpy~=1.24.1 (from django-ocr_translate==0.6.0)
Using cached numpy-1.24.4.tar.gz (10.9 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/stefano/builds/from-upstream-sources/ocr_translate/venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in
main()
File "/home/stefano/builds/from-upstream-sources/ocr_translate/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/stefano/builds/from-upstream-sources/ocr_translate/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/stefano/builds/from-upstream-sources/ocr_translate/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-qn6bh80m/overlay/lib/python3.12/site-packages/setuptools/init.py", line 16, in
import setuptools.version
File "/tmp/pip-build-env-qn6bh80m/overlay/lib/python3.12/site-packages/setuptools/version.py", line 1, in
import pkg_resources
File "/tmp/pip-build-env-qn6bh80m/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.
`

@Crivella
Copy link
Owner

This does not seem to be specific to Arch but compatibility with numpy and python in general
numpy/numpy#23808.
I was able to reproduce it by trying to install numpy==1.24.1 inside a docker container with python 3.12.

If possible i would suggest to use a venv with Python 3.10 or 3.11 which are the one I've tested both manually and in the CI.
Otherwise you could try bumping up the 1.24.1 version in the pyproject.toml to 1.26.1, but i cannot guarantee that the plugins with all their dependencies won't raise any problem.

I will add a note on the version of python to use in the README and the docs.
On the next release i will see if it is possible to bump the version in a way that it will work also with 3.12 without dropping support for 3.10 (don't want to leave behind people if possible)

@cleinias
Copy link
Author

Thanks for your immediate feedback. I can confirm installation now works fine after I installed python 3.11 and created a venv with it.

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

No branches or pull requests

2 participants