Raspberry Pi OS Bookworm VS Mycroft AI
TL;DR How to solve AttributeError: cython_sources
when installing Mycroft AI
Anyone who has listened the Cayenne Chris Conroy’s Teknikal Diffikulties, may have listened to some of his stories about ‘The Account: A Tales of the Waking World’ (link takes you to first episode). I’m not very good a summarizing things, so I’ll just borrow a synopsis from www.tvtropes.org:
The Account is an adventure audio drama by podcaster "Cayenne" Chris Conroy, and part of the Tekdiff Podcast. It tells the story of ordinary office drone Hanover Philips of the Metadyne Corporation, who one day distinguishes himself from his colleagues by subduing and investigating a portfolio of pure evil that had been sucking up the company's considerable resources and converting its offices into an "antechamber of Hell."
The titular Account represented by that portfolio is known as Ave Nova, and that name provides tenuous clues as to where else its influence might be found. Hanover, who now knows as much as anybody about the Account, is summarily knighted "Sir Hanover Phillips, Questing Knight of the Metadyne Corporation" and sent on a quest to root out Ave Nova's power wherever it lies in the Midlands.
That's another thing: The Account takes place in the Midlands, an all-inclusive modern-day fantasy setting, which was cut off from Earth some time ago and only recently re-opened. Hanover, as a native of Earth, is something of an odd man out in the Midlands, but he quickly acquires a helpful goblin squire named Nyro Guillaume (pronounced "Gee-Yome") and makes a name for himself as a knight.
One of the things that Hanover Phillips has to deal with is that his company laptop has been infected with a copy of the Account, and has an intelligent entity which may or may not be malevolent (probably malevolent). This Entity speaks to Hanover and offers answers and advice.
I have always wanted to make a linux distribution that would mimic what I think Hanover’s Laptop would be like. Year’s ago, There was a website that would allow you to modify and brand a version of OpenSUSE linux, but try as I might, I could never get a ‘live’ version to work off of cd/dvd/usb drive. Fast-forwards, to the rise of the Raspberry Pi and other single board computers, I decided to try my hand again at making an Account themed Linux distrubution using Raspberry PI 4 8gb SBC, Raspberry Pi OS Bookworm, and Mycroft AI. Mycroft AI is a modifiable personal assistant similar to Siri, Alexa, and Google Assistant. and this is where I ran into my problem. Installing Mycroft on Raspberry Pi Bookworm would error out when trying to install PyYAML using PIP. Here’s how I solved the problem.
TL;DR
First download Mycroft from Github (Version at time of post was v21.2.2)
cd ~/
git clone https://github.com/MycroftAI/mycroft-core.git
Next you need to enter create/enter Python’s Virtual Environment
python -m venv ~/.env
source ~/.env/bin/activate
Your prompt should look something like the : (.env) $
Next you need to edit ~/mycroft-core/requirements/requirements.txt
using your favorite editor.
Find the line that says:PyYAML==5.4
And change it to 6.0.1 or whatever current version PyYAML is:PyYAML==6.0.1
And save the file. Now you should be able to Install Mycroft with out any trouble:
cd ~/mycroft-core
bash dev_setup.sh
After everything is installed, deactivate VENV:
(.env) $deactivate
$
And that should solve the problem of installing Mycroft AI