ImportError: No module named extern in mycroft-speech-client.log

I have installed mycroft from packages on a Raspberry Pi 3 running Raspbian and home-assistantm which was originally installed from script. It starts from init and I can see all the processes running but at the end of mycroft-speech-client.log I can see this error:

Traceback (most recent call last):
  File "/usr/local/bin/mycroft-speech-client", line 14, in <module>
    load_entry_point('mycroft-core==0.8.20', 'console_scripts', 'mycroft-speech-client')()
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 356, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2476, in load_entry_point
    return ep.load()
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2190, in load
    ['__name__'])
  File "/usr/local/lib/python2.7/site-packages/mycroft_core-0.8.20-py2.7.egg/mycroft/client/speech/main.py", line 24, in <module>
    from mycroft.client.speech.listener import RecognizerLoop
  File "/usr/local/lib/python2.7/site-packages/mycroft_core-0.8.20-py2.7.egg/mycroft/client/speech/listener.py", line 34, in <module>
    from mycroft.metrics import MetricsAggregator
  File "/usr/local/lib/python2.7/site-packages/mycroft_core-0.8.20-py2.7.egg/mycroft/metrics/__init__.py", line 28, in <module>
    from mycroft.util.setup_base import get_version
  File "/usr/local/lib/python2.7/site-packages/mycroft_core-0.8.20-py2.7.egg/mycroft/util/setup_base.py", line 21, in <module>
    from setuptools import find_packages
  File "/usr/local/lib/python2.7/site-packages/setuptools/__init__.py", line 10, in <module>
    from setuptools.extern.six.moves import filter, map
  File "/usr/local/lib/python2.7/site-packages/setuptools/extern/__init__.py", line 1, in <module>
    from pkg_resources.extern import VendorImporter
ImportError: No module named extern

I’m not entirely sure if I installed setuptools previously or if this was installed with mycroft-core but this to be occurring when the client is run.I am using USB devices for speaker and microphone: the speakers are working with mopidy through gstreamer but it seems this is getting in the way of testing.

I don’t see extern being called from mycroft, so a google of the message shows several things, including:


and

which mentions: “You probably have a pkg_resources package around that still has an old version and doesn’t have the necessary extern functionality. You’ll need to inspect your environment and track down from where pkg_resources is being imported and why it doesn’t have the extern package.”

1 Like

Thanks, I had a look at it last night and came to the same conclusion. Removing the Debian package and manually installing setuptools helps.

1 Like