TL;DR: Proceed to the
hack section.
Long story:
From the different threads over the internet discussing the issue, it looks like:
numpy does not like being initialized more than once. (link)
It makes sense because the error says, "RuntimeError: implement_array_function method already has a docstring". the docstring would have got added during the first time it got initialized.
This plugin - script.embuary.helper imports PIL, which imports numpy.
I haven't looked at the code so, I am not sure who is importing numpy twice.
It could also be the case that different plugins within kodi are using numpy. And they are using it in the same process, leading to this issue.
Ugly hack that worked for me:
This may not be the right way. However, this worked for me.
The PIL script that imports numpy has a fallback if numpy is not available.
Now, numpy is required by the system. Hence you cannot remove python-numpy package.
This dummy numpy file helps in raising a ImportError when you try to import numpy as
pi user.
shell:
echo "raise ImportError('STUB numpy module to disable numpy')" > /home/pi/.local/lib/python2.7/site-packages/numpy/__init__.py
Note that this would potentially break the other softwares that you would start from your login.
A slightly better way is to add this file at some non-standard path and add that path to
PYTHONPATH when launching kodi.