Re-installed Mycroft-core on Linux after a year and have spent the last few days wading through errors. It appears there is a show stopper.
When I start-mycroft.sh debug, it loads fine and starts voice. it then Logs an error loading each and every skill in /opt/mycroft/skills.
The error is has no attribute ‘config’.
My current hypothesis is that the storage for skills attributes has change in an interim update and the old format is unreadable. There is still a skills folder in /opt/mycroft/skills but there is now a set of links in ~…/mycroft-core/mycroft/skills.
Would it thus be logical to rebuild mycroft-core with the concommittant removal of /opt/mycroft/skills ?
Another symptom of the situation is as follows: Contrary to the documentation, mycroft does NOT state the 6 char. pairing code at the end of installation. The last time I installed Mycroft (a year ago), you had to go to home.mycroft.com to get that, which has now changed to home.mycroft.ai.
Regards, Brian.
You probably need to re-run dev_setup.sh
I have done so three times.
Actually, deleted and re-cloned a fresh mycroft-core from git. This results in a complete refresh of the .conf files. However, this does not overwrite the skills in /opt/mycroft/skills.
I was assuming that reloading mycroft-core explicitly ran dev_setup.sh.
Re-ran the mycroft-core install.
Then dev_setup.sh. Crashed with “No such requirements/requirements.txt”. Re-ran again and this time it did a complete rebuild of mimic with no errors at all (lots of warnings).
Running start-mycroft.sh with renewed hope is now beginning to make me feel like einstein’s idiot. The result was exactly the same as before - cannot load any skills. I am more convinced that my pairing account is corrupt, or that the documentation is incorrect. That is what caused me to stop using mycroft a year ago.
In desperation, randomly entering :commands in the debug console finally had a result.
Entering :skills caused the console to crash, leaving the following terminal text:
Starting cli
2020-05-19 12:04:52.687 | ERROR | 28405 | mycroft.configuration.config:__init__:154 | RequestException fetching remote location:
2020-05-19 12:04:52.727 | ERROR | 28405 | mycroft.configuration.config:__init__:174 | Failed to fetch remote configuration: TypeError("'str' object does not support item assignment",)
Traceback (most recent call last):
File "/home/brian/mycroft-core/mycroft/configuration/config.py", line 159, in __init__
setting["location"] = location
TypeError: 'str' object does not support item assignment
2020-05-19 12:04:52.901 | INFO | 28405 | mycroft.messagebus.load_config:load_message_bus_config:33 | Loading message bus configs
2020-05-19 12:04:52.911 | ERROR | 28405 | mycroft.messagebus.client.client:on_error:81 | === ConnectionRefusedError(111, 'Connection refused') ===
Traceback (most recent call last):
File "/home/brian/mycroft-core/.venv/lib/python3.5/site-packages/websocket/_app.py", line 254, in run_forever
proxy_type=proxy_type)
File "/home/brian/mycroft-core/.venv/lib/python3.5/site-packages/websocket/_core.py", line 220, in connect
options.pop('socket', None))
File "/home/brian/mycroft-core/.venv/lib/python3.5/site-packages/websocket/_http.py", line 120, in connect
sock = _open_socket(addrinfo_list, options.sockopt, options.timeout)
File "/home/brian/mycroft-core/.venv/lib/python3.5/site-packages/websocket/_http.py", line 190, in _open_socket
raise err
File "/home/brian/mycroft-core/.venv/lib/python3.5/site-packages/websocket/_http.py", line 170, in _open_socket
sock.connect(address)
ConnectionRefusedError: [Errno 111] Connection refused
2020-05-19 12:04:52.913 | ERROR | 28405 | mycroft.messagebus.client.client:on_error:88 | Exception closing websocket: ConnectionRefusedError(111, 'Connection refused')
2020-05-19 12:04:52.914 | WARNING | 28405 | mycroft.messagebus.client.client:on_error:91 | Message Bus Client will reconnect in 5 seconds.
Traceback (most recent call last):
File "/usr/lib/python3.5/runpy.py", line 184, in _run_module_as_main
"__main__", mod_spec)
File "/usr/lib/python3.5/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/brian/mycroft-core/mycroft/client/text/__main__.py", line 71, in <module>
main()
File "/home/brian/mycroft-core/mycroft/client/text/__main__.py", line 65, in main
curses.wrapper(gui_main)
File "/usr/lib/python3.5/curses/__init__.py", line 94, in wrapper
return func(stdscr, *args, **kwds)
File "/home/brian/mycroft-core/mycroft/client/text/text_client.py", line 1316, in gui_main
if handle_cmd(line[1:]) == 1:
File "/home/brian/mycroft-core/mycroft/client/text/text_client.py", line 1145, in handle_cmd
scr.get_wch() # blocks
_curses.error: no input
Sorry to hear about these issues.
To make a clean re-install I suggest using the
./dev_setup.sh --clean
command, this will remove the skills and the .mycroft
folder as well as any mycroft related files in the tmp directory. In addition to this you may want to run
rm -rf .venv
in the mycroft-core folder to remove the mycroft virtual environment as well.
After these two commands run the ./dev_setup.sh
script again and you should have a completely fresh install.
We have a report of the error in the :skills
command (here) but we haven’t been able to reproduce that error. Of interest would also be your OS and which version of python you are using. (python --version
)
Thanks! I shall try this when I have finished my gardening for the day.
I am running Linux Mint 18.3 Sylvia 64bit kernel 4.15.0-91 Mate 1.18.0
Python 3.7.2
Thanks that’s interesting to know, the other report was also for Linux Mint…