bmcfee / pyrubberband

python wrapper for rubberband
ISC License
154 stars 20 forks source link

ModuleNotFoundError: No module named 'imp' #28

Open mohd-akram opened 1 month ago

mohd-akram commented 1 month ago

Description

Installation fails on Python 3.12

Steps/Code to Reproduce

pip install pyrubberband

Expected Results

Works

Actual Results

Collecting pyrubberband
  Downloading pyrubberband-0.3.0.tar.gz (4.1 kB)
  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
  ╰─> [20 lines of output]
      Traceback (most recent call last):
        File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/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 "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
                 ^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/mw/d2jp6b715v59p7ghfyp6rr5c0000gn/T/pip-build-env-ry4g175i/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 325, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=['wheel'])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/mw/d2jp6b715v59p7ghfyp6rr5c0000gn/T/pip-build-env-ry4g175i/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 295, in _get_build_requires
          self.run_setup()
        File "/private/var/folders/mw/d2jp6b715v59p7ghfyp6rr5c0000gn/T/pip-build-env-ry4g175i/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 487, in run_setup
          super().run_setup(setup_script=setup_script)
        File "/private/var/folders/mw/d2jp6b715v59p7ghfyp6rr5c0000gn/T/pip-build-env-ry4g175i/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 311, in run_setup
          exec(code, locals())
        File "<string>", line 3, in <module>
      ModuleNotFoundError: No module named 'imp'
      [end of output]

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

Versions

macOS-14.4.1-x86_64-i386-64bit
Python 3.12.3 (main, Apr 12 2024, 20:23:48) [Clang 15.0.0 (clang-1500.1.0.2.5)]
NumPy 1.26.4
bmcfee commented 1 month ago

Yeah, this package hasn't yet been updated to handle the imp deprecation. Note that the last release was 6 years ago (!). This should be an easy enough fix. However, you might want to consider using pedalboard for this instead of pyrubberband, since it goes through a proper library binding instead of the command-line wrapper that I implemented here.