I’m at my wits end with the current HEAD from the dev branch. I’m running a 32-bit Raspberry Pi OS bullseye on an RPi 4 and python3.7 and the dependency hell is burning hot.
- had to
pip install <URL to tensorflow-1.13.1-cp37-none-linux_armv7l.whl> manually
as no TF versions could be found otherwise - wavio > 0.0.4 requires numpy 1.19 or so. So I pinned it to 0.0.4
- several dependencies pull in scipy 1.7.3 which depends on numpy 1.16.5, which is incompatible with the numpy 1.16.0 pinned in setup.py. I tried pinning scipy to 1.5.4 which works with older numpy versions. This satisfied pip but running the example script from the README gave me
ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 44 from C header, got 40 from PyObject
so apparently just downgrading things willy-nilly won’t make this work after all.
I only started looking at the source install because running mycroft-collect
from the precise-all 0.3.0 release zip was giving me segfault errors and mycroft-train
errored out in another way. Figured this wouldn’t happen if I built it from source for my platform. Didn’t realize the “if” clause is impossible to satisfy without a perfect understanding of which versions of numpy all those libs depend on and whether there can even be a common denominator between them.
Has anybody had success with this?
The only thing working for me is the precise-engine 0.2.0 that I think was automatically installed by mycroft. (I don’t recall installing it myself, even though I’m running mycroft from the clone git repo). Unfortunately, that distribution only comes with the precise-engine
executable and not the tools for training which I’m interested in at present.