(.venv) pi@picroft:/opt/mycroft/skills/mycroft_routine_skill $ pip install -r requirements.txt
Requirement already satisfied: apscheduler in /home/pi/mycroft-core/.venv/lib/python3.7/site-packages (from -r requirements.txt (line 1)) (3.7.0)
Requirement already satisfied: pytz in /home/pi/mycroft-core/.venv/lib/python3.7/site-packages (from apscheduler->-r requirements.txt (line 1)) (2017.2)
Requirement already satisfied: six>=1.4.0 in /home/pi/mycroft-core/.venv/lib/python3.7/site-packages (from apscheduler->-r requirements.txt (line 1)) (1.13.0)
Requirement already satisfied: setuptools>=0.7 in /home/pi/mycroft-core/.venv/lib/python3.7/site-packages (from apscheduler->-r requirements.txt (line 1)) (41.4.0)
Requirement already satisfied: tzlocal~=2.0 in /home/pi/mycroft-core/.venv/lib/python3.7/site-packages (from apscheduler->-r requirements.txt (line 1)) (2.1)
WARNING: You are using pip version 20.0.2; however, version 21.2.4 is available.
You should consider upgrading via the '/home/pi/mycroft-core/.venv/bin/python -m pip install --upgrade pip' command.
(.venv) pi@picroft:/opt/mycroft/skills/mycroft_routine_skill $
I honestly don’t remember how I got it, but it seems to think apscheduler is already there. That was a couple of weeks ago in the log, so maybe something else corrected it…?
You might try stopping Mycroft (ensure the process stopped, via ps -ef | grep mycroft ), then remove the skills log, and restart Mycroft. That would give you a clean log, so any error you find would be relevant only to the latest run.
to do it manually under pretty much all the skill files, I deleted the ones copies not under /opt
Ive since lost the output but it was successful, although i did so under user not .venv
Is that a standalone pi installation? I was hoping to perfect my install on my ubuntu desktop and transfer the set up to other devices.
This is what shows for debug on every skill
Establishing Mycroft Messagebus connection...
20:24:32.708 | WARNING | 23789 | ConfigurationSkill | Failed to update settings, will retry later
20:24:49.576 | ERROR | 23789 | mycroft.skills.settings:_issue_api_call:306 | Failed to upload skill settings meta for mycroft-pairing|21.02
Traceback (most recent call last):
File "/home/sean/mycroft-core/mycroft/skills/settings.py", line 304, in _issue_api_call
self.api.upload_skill_metadata(self.settings_meta)
File "/home/sean/mycroft-core/mycroft/api/__init__.py", line 371, in upload_skill_metadata
return self.request({
File "/home/sean/mycroft-core/mycroft/api/__init__.py", line 64, in request
return self.send(params)
File "/home/sean/mycroft-core/mycroft/api/__init__.py", line 147, in send
return self.get_response(response, no_refresh)
File "/home/sean/mycroft-core/mycroft/api/__init__.py", line 170, in get_response
raise HTTPError(data, response=response)
requests.exceptions.HTTPError: {'skill_gid': ['Received skill setting definition before manifest for skill mycroft-pairing|21.02']}
20:24:50.833 | ERROR | 23789 | mycroft.skills.settings:_issue_api_call:306 | Failed to upload skill settings meta for mycroft-joke|21.02
Traceback (most recent call last):
File "/home/sean/mycroft-core/mycroft/skills/settings.py", line 304, in _issue_api_call
self.api.upload_skill_metadata(self.settings_meta)
File "/home/sean/mycroft-core/mycroft/api/__init__.py", line 371, in upload_skill_metadata
return self.request({
File "/home/sean/mycroft-core/mycroft/api/__init__.py", line 64, in request
return self.send(params)
File "/home/sean/mycroft-core/mycroft/api/__init__.py", line 147, in send
return self.get_response(response, no_refresh)
File "/home/sean/mycroft-core/mycroft/api/__init__.py", line 170, in get_response
raise HTTPError(data, response=response)
requests.exceptions.HTTPError: {'skill_gid': ['Received skill setting definition before manifest for skill mycroft-joke|21.02']}
20:24:50.998 | ERROR | 23789 | mycroft.skills.settings:_issue_api_call:306 | Failed to upload skill settings meta for fallback-query|21.02
Traceback (most recent call last):
File "/home/sean/mycroft-core/mycroft/skills/settings.py", line 304, in _issue_api_call
self.api.upload_skill_metadata(self.settings_meta)
File "/home/sean/mycroft-core/mycroft/api/__init__.py", line 371, in upload_skill_metadata
return self.request({
File "/home/sean/mycroft-core/mycroft/api/__init__.py", line 64, in request
return self.send(params)
File "/home/sean/mycroft-core/mycroft/api/__init__.py", line 147, in send
return self.get_response(response, no_refresh)
File "/home/sean/mycroft-core/mycroft/api/__init__.py", line 170, in get_response
raise HTTPError(data, response=response)
requests.exceptions.HTTPError: {'skill_gid': ['Received skill setting definition before manifest for skill fallback-query|21.02']}
20:24:51.011 | ERROR | 23789 | mycroft.skills.settings:_issue_api_call:306 | Failed to upload skill settings meta for mycroft-reminder|21.02
This is not correct. Please don’t pile confusion onto confusion.
Onto the repeated Exceptions: There seems something fundamentally wrong with your setup. I would advise starting from scratch using default setup options and work your way up from there.
@S_Murphy - thanks for the input on lsskills. I believe I see the problem in the code I provided to try to help the community. Here is the bash function to list skills:
```function listSkills()
{
local filterClause="" # no search filter
if [ ${#pattern} != 0 ]; then # search pattern passed in
filterClause="| grep $pattern" # add search filter
fi
if [ "$skillsType" = all ]; then # show all skills
output=`mycroft-msm list 2> /dev/null | sort`
elif [ "$skillsType" = installed ]; then # show just skills installed
output=`mycroft-msm list 2> /dev/null | grep installed | sort`
else # assume 'unistalled'
output=`mycroft-msm list 2> /dev/null | grep -v installed | sort`
fi
} # listSkills()
The function expects that mycroft-msm is in your PATH, but it is not. So one workaround is to set your PATH environment variable to include the directory where mycroft-msm resides. @S_Murphy could you please try this?
But let me float an idea to the Mycroft techies - could the Mycroft executables at least add symlinks for all Mycroft commands to /usr/local/sbin at install time? That would be in keeping with the Linux Filesystem Hierarchy Standard, and would obviate the need for users to set their PATH correctly… Just a thought …