Background
Debian testing (bullseye) kernel 5.9.0, KDE, calibre 5.5.0
Symptoms
Calibre does not start, not even its GUI appears. Console shows a Python-related error message about _Py_FatalErrorFunc.
The solution is to update Calibre to a version newer than in testing. There are two alternatives:
unstable or experimental Debian distributionsI took option 2. Mixing packages from various distributions is discouraged. Using anything from experimental is discouraged even more. But sometimes the program you've been running regularly fails and you need a fix quickly. I don't think falling back on option 1 is the best choice in the long run.
Debian package search showed that although Calibre is not available in experimental, a version slightly newer to mine exists in unstable (codenamed sid).
unstable as possible source of packagesCreate a file
sudo nano /etc/apt/sources.list.d/unstable.list
and paste
deb http://deb.debian.org/debian unstable main contrib non-free
experimental as possible source of packagesCreate a file
sudo nano /etc/apt/sources.list.d/experimental.list
and paste
deb http://deb.debian.org/debian experimental main contrib non-free
Resynchronize package index
sudo apt-get update
then simulate what apt-get would do
sudo apt-get -st unstable install calibre
then, if you consider the extent of required updates safe, issue the command without s to do the actual update
sudo apt-get -t unstable install calibre
Once you're done, edit unstable.list and put # at the beginning of the entry to comment it out. Otherwise apt will take these unstable versions into account at next upgrade. Run sudo apt-get update to resynchronize package index again. Commenting out is not necessary for experimental because of apt's package prioritization default settings.
Although getting anything from experimental is not needed in this case, it may be useful in the future. For example, to get the latest nvidia-driver package, you'd use sudo apt-get -t experimental install nvidia-driver.
The t option tells apt to temporarily prioritize (for this call only) package versions from the given release. Experimental is not a full distribution, it is an extension of unstable.