The misconception in the linked issue description is that depends_on "numpy" should install numpy bindings, which essentia requires. However, homebrew's current numpy no longer supports python3.9, which is why the build was failing to find numpy. That is also why running python3.9 -m pip install numpy will allow essentia to build properly, although it is generally not recommended to install python modules to a homebrew python distribution manually.
get the last version of libcython (from homebrew) that uses python3.9
restrict it to python3.9
brew extract --version=1.23.3 numpy mtg/essentia
get the last version of numpy (from homebrew) that uses python3.9
restrict it to python3.9, and use this tap's libcython
add an explanation for users that this and homebrew-core/numpy conflict
update this formula to use an explicit python version, fixing that issue about symlinking python3.9 -> python manually
Note that the formulae i've extracted from homebrew-core are just the most recent versions that had depends_on "python@3.9". Newer versions of libcython and numpy support 3.9 but I didn't want to extract the current version and have to backport it in case there were other changes.
slight note: i think that --with-gaia bindings might be broken/not fully working, since that formula uses python@3.8. I can submit a pr later that will update that.
Fixes #30, fixes #32, fixes #33
The misconception in the linked issue description is that
depends_on "numpy"
should install numpy bindings, whichessentia
requires. However, homebrew's currentnumpy
no longer supportspython3.9
, which is why the build was failing to find numpy. That is also why runningpython3.9 -m pip install numpy
will allowessentia
to build properly, although it is generally not recommended to install python modules to a homebrew python distribution manually.Instead, I've done the following:
brew extract --version=0.29.30 libcython mtg/essentia
libcython
(from homebrew) that uses python3.9python3.9
brew extract --version=1.23.3 numpy mtg/essentia
numpy
(from homebrew) that uses python3.9python3.9
, and use this tap'slibcython
homebrew-core/numpy
conflictpython3.9 -> python
manuallyNote that the formulae i've extracted from
homebrew-core
are just the most recent versions that haddepends_on "python@3.9"
. Newer versions oflibcython
andnumpy
support 3.9 but I didn't want to extract the current version and have to backport it in case there were other changes.slight note: i think that
--with-gaia
bindings might be broken/not fully working, since that formula usespython@3.8
. I can submit a pr later that will update that.