vamp-plugins / vampy-host

Python module to load and use native Vamp plugins for audio feature analysis.
https://pypi.python.org/pypi/vamp
Other
28 stars 6 forks source link

pip install vamp fails on Ventura 13.4.1 (c) #7

Open nite4inspired opened 1 year ago

nite4inspired commented 1 year ago

`Collecting vamp Using cached vamp-1.1.0.tar.gz (107 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 ╰─> [17 lines of output] Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in main() File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main json_out['return_val'] = hook(**hook_input['kwargs']) File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel return hook(configsettings) File "/private/var/folders/z/48g009w50_l2scs2k9tbwqxh0000gn/T/pip-build-env-916oxgfd/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 341, in get_requires_for_build_wheel return self._get_build_requires(configsettings, requirements=['wheel']) File "/private/var/folders/z/48g009w50_l2scs2k9tbwqxh0000gn/T/pip-build-env-916oxgfd/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 323, in _get_build_requires self.runsetup() File "/private/var/folders/z/48g009w50_l2scs2k9tbwqxh0000gn/T/pip-build-env-916oxgfd/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 487, in run_setup super(BuildMetaLegacyBackend, File "/private/var/folders/z/48g009w50_l2scs2k9tbwqxh0000gn/T/pip-build-env-916oxgfd/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 338, in run_setup exec(code, locals()) File "", line 3, in ModuleNotFoundError: No module named 'numpy' [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.`

dinizgab commented 1 year ago

Same error here with ubuntu 22.04, strange that manually, the installation of Numpy with pip install numpy and pip install vamp works fine, but when we automate that, it brakes and give us this error.

cannam commented 1 year ago

I'm no longer sufficiently embedded in the python packaging world to know what the cause is offhand, but it seems very unfortunate for pip/pypi to break long-standing packages like this.

If I can find some time to look into it I will, but this is no longer something I actively work on or indeed use, so it would mean a cold start and I'm not sure when I will be able to do that.

So I really encourage anyone who recognises the issue to offer a fix or PR - I can also add other maintainers to pypi if someone (with a recognisable trustworthy track record) offers to update it.

Alternatively I can surely make the time if paid to do so, though I realise that's an unlikely scenario given the academic nature of the work!

dinizgab commented 1 year ago

I was able to run it using a python 3.11 docker image and doing the same as i told in the last comment.

cannam commented 1 year ago

So is there a workaround that is simply "install numpy first" or similar?

dinizgab commented 1 year ago

Yes, what i found strange was that using only ubuntu runner here in gh actions it doesn't work, for running in a workflow i needed to run in a container.

Vuizur commented 1 year ago

For me this stackoverflow solution starts compiling the wheel. It involves only creating pyproject.toml with two lines of code, so it's worth trying. (But no idea if this causes any problems with metadata etc.)

I couldn't compile it unfortunately on Windows, it complained that ssize_t is an undeclared identifier. I think the reason might be that ssize_t might not be supported by the newest MSVC C++ compiler, like somebody mentioned in this issue: https://github.com/eridur-de/mightyscape-1.2/issues/131