Regardless of how you attempted to install it in the first place, what you’ll need to do is run pip install -r requirements.txt from within the skill’s directory, using the installation of python that mycroft runs with. So, something like:
cd /opt/mycroft/skills/mycroft_routine_skill # The skill directory might be prefixed with my github username
source <mycroft-core-root>/.venv/bin/activate # This is only necessary if running from git - if you're on a mark 1, picroft, or similar, you shouldn't need this
pip install -r requirements.txt
(.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.