Build an open future with us.

Invest in Mycroft and become a community partner.

Can't install skills by voice on Picroft


Hi, I’m trying to set up Picroft on a Raspberry Pi 3, but I’m unable to install new skills by voice. I’ve tried Jokes, Date & Time, Cocktail and a few more, but the same happens every time. Log:

15:13:40.051 - SKILLS - DEBUG - {"context": null, "type": "recognizer_loop:wakeword", "data": {"session": "642e6e21-8560-47e7-8580-972d8af23bb1", "utterance": "hey mycroft"}}
15:13:42.361 - SKILLS - DEBUG - {"context": {"client_name": "mycroft_listener", "ident": "1533395620.0320697-422436514"}, "type": "recognizer_loop:utterance", "data": {"session": "642e6e21-8560-47e7-8580-972d8af23bb1", "utterances": ["install jokes"], "lang": "en-US"}}
15:13:42.382 - SKILLS - DEBUG - {"context": null, "type": "skill.converse.request", "data": {"lang": "en-US", "skill_id": "skill-ip", "utterances": ["install jokes"]}}
15:13:42.401 - SKILLS - DEBUG - {"context": {}, "type": "skill.converse.response", "data": {"skill_id": "skill-ip", "result": false}}
15:13:42.509 - SKILLS - DEBUG - {"context": {"target": null, "ident": "1533395620.0320697-422436514", "client_name": "mycroft_listener"}, "type": "skill-installer:InstallIntent", "data": {"skill_installerInstall": "install", "confidence": 1.0, "intent_type": "skill-installer:InstallIntent", "__tags__": [{"key": "install", "start_token": 0, "match": "install", "entities": [{"key": "install", "confidence": 1.0, "data": [["install", "skill_installerInstall"]], "match": "install"}], "end_token": 0, "from_context": false}], "utterance": "install jokes", "target": null}}
15:13:42.547 - SKILLS - DEBUG - {"context": {"target": null, "ident": "1533395620.0320697-422436514", "client_name": "mycroft_listener"}, "type": "mycroft.skill.handler.start", "data": {"name": "SkillInstallerSkill.install"}}
15:13:47.713 - SKILLS - DEBUG - {"context": {"target": null, "ident": "1533395620.0320697-422436514", "client_name": "mycroft_listener"}, "type": "speak", "data": {"expect_response": false, "utterance": "An error occurred while processing a request in Skill Installer Skill"}}
15:13:47.724 - mycroft.skills.core:wrapper:655 - ERROR - An error occurred while processing a request in Skill Installer Skill
Traceback (most recent call last):
  File "/opt/venvs/mycroft-core/lib/python3.4/site-packages/mycroft/skills/", line 646, in wrapper
  File "/opt/mycroft/skills/skill-installer/", line 174, in install
    skills = self.search_for_skill(search, self.get_skill_list())
  File "/opt/mycroft/skills/skill-installer/", line 96, in get_skill_list
    self.ansi_escape.sub('', check_output([BIN, 'list'])).split('\n')
TypeError: can't use a string pattern on a bytes-like object
15:13:47.748 - SKILLS - DEBUG - {"context": {"target": null, "ident": "1533395620.0320697-422436514", "client_name": "mycroft_listener"}, "type": "mycroft.skill.handler.complete", "data": {"name": "SkillInstallerSkill.install", "exception": "TypeError(\"can't use a string pattern on a bytes-like object\",)"}}
15:13:51.243 - SKILLS - DEBUG - {"type": "recognizer_loop:audio_output_start", "data": {}, "context": null}
15:13:53.852 - SKILLS - DEBUG - {"type": "enclosure.eyes.blink", "data": {"side": "b"}, "context": null}
15:13:56.495 - SKILLS - DEBUG - {"type": "recognizer_loop:audio_output_end", "data": {}, "context": null}


(I edited your post to put the code into a code block for easier readability)

Thanks for flagging this with us, and for also extracting the relevant logs to help, we really appreciate it.

The first thing I did here was to compare the line numbers throwing the error in the logs here with the source code for the skill-installer - source code here.

I have a suspicion that your Picroft is running an old version of skill-installer, because the line numbers don’t match.

Is it possible for you to reboot and see if this updates the skill-installer, alternatively cd /opt/mycroft/skills/skill-installer then run git pull?

Best, Kathy