PyWavelets / pywt

PyWavelets - Wavelet Transforms in Python
http://pywavelets.readthedocs.org
MIT License
1.97k stars 460 forks source link

AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'? #695

Closed octagonalsquare closed 7 months ago

octagonalsquare commented 7 months ago

I am getting an error trying to both install from source and install via pip install PyWavelets.

This is on python version 3.12, with a fully updated pip version. The error is the same whether I use "pip install PyWavelets" or do "pip install ." when inside the source directory.

I get the following error:

`Processing d:\users[redacted]\desktop\pywt-1.4.1 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 "D:\Users[redacted]\Documents\StreamLooper\Lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 353, in main() File "D:\Users[redacted]\Documents\StreamLooper\Lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 335, in main json_out['return_val'] = hook(**hook_input['kwargs']) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\Users[redacted]\Documents\StreamLooper\Lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 112, in get_requires_for_build_wheel backend = _build_backend() ^^^^^^^^^^^^^^^^ File "D:\Users[redacted]\Documents\StreamLooper\Lib\site-packages\pip_vendor\pyproject_hooks_in_process_in_process.py", line 77, in _build_backend obj = import_module(mod_path) ^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users[redacted]\AppData\Local\Programs\Python\Python312\Lib\importlib__init.py", line 90, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "", line 1381, in _gcd_import File "", line 1354, in _find_and_load File "", line 1304, in _find_and_load_unlocked File "", line 488, in _call_with_frames_removed File "", line 1381, in _gcd_import File "", line 1354, in _find_and_load File "", line 1325, in _find_and_load_unlocked File "", line 929, in _load_unlocked File "", line 994, in exec_module File "", line 488, in _call_with_frames_removed File "C:\Users[redacted]\AppData\Local\Temp\pip-build-env-uqi9ieiu\overlay\Lib\site-packages\setuptools\init.py", line 16, in import setuptools.version File "C:\Users[redacted]\AppData\Local\Temp\pip-build-env-uqi9ieiu\overlay\Lib\site-packages\setuptools\version.py", line 1, in import pkg_resources File "C:\Users[redacted]\AppData\Local\Temp\pip-build-env-uqi9ieiu\overlay\Lib\site-packages\pkg_resources\init__.py", line 2191, 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.`

bpepple commented 7 months ago

Can confirm. Had the same errors when attempting to install on Fedora 39 (which uses Python-3.12)

itsthejoker commented 7 months ago

Also having this issue on Python 3.12 inside Ubuntu on WSL2.

itsthejoker commented 7 months ago

Update: this has been fixed in master but hasn't been released yet: https://github.com/PyWavelets/pywt/commit/1055277690f7d88c76a46d2a07e5183b3c8909ae

rgommers commented 7 months ago

The 1.5.0 release with the fix is up on PyPI now, so closing. Thanks all.