View Single Post
Old 08-11-2024, 08:56 PM   #3075
WovenTales
Junior Member
WovenTales began at the beginning.
 
Posts: 7
Karma: 10
Join Date: Oct 2022
Device: Kobo Forma
Quote:
Originally Posted by chaley View Post
That person is me.

I'm not going to release this until calibre itself uses python 3.12. Doing otherwise is supporting distro builds that change fundamental calibre dependencies, and there be dragons. There are incompatibilities between python 3.11 and 3.12 that affect calibre. Once @kovidgoyal has dealt with those I will look at what is necessary to update the plugin.
That's the exact problem I've had with this entire response. Explicitly switching to 3.12, yeah, I agree that that should wait for the base program to be updated. Calibre packaging an entire Python installation just because one distribution once linked it to the wrong Python version, for all that I rib at it I can't entirely say it's a bad setup (by the way for everyone here, there's no single "Linux" which could have messed up for everyone using it, there's Debian, Fedora, and Arch who all have separate package creation processes due to their entirely different formats, Ubuntu which is technically compatible with Debian but handles its software packaging and distribution separately, maybe another big name or two I'm forgetting, and several smaller repositories who generally follow one of those but might still decide to handle certain software specially, even before you get into from-source distros).

But this response of "I'm not going to make this change because Calibre is still on 3.11" is inarguably a shortsighted response which, to be blunt, doesn't show good code/project management. damccull and I aren't asking for the entire version support to be changed, we're asking for four lines to be updated in a backwards-compatible manner (I had found the same ones but didn't post my own patch because I was annoyed with the community response and hoped the official one was better). The SafeConfigParser name has been deprecated since Python 3.02; Calibre has packaged versions which support the recommended alias of ConfigParser since Calibre 5.0.0, and unless you have some concrete reason to support the older versions using Python 2.7 you don't lose anything from not updating now. (I honestly doubt the code supports 2.7 anyway no matter what the matrix in Calibre's "Get a plugin" dialog says -- and even if it somehow does this would just be another entry in whatever version compatibility code you'd already have to be using.) This is not jumping ahead of Calibre to support a Python version it doesn't, this is getting ahead of the plugin breaking unnecessarily when 3.12 finally removes something which has been incorrect in general since 2011 and incorrect for Calibre specifically since 2020.

damccull, thanks for publishing your patch. For anyone using any Linux/BSD distro which does ignore the bundled Python, that works perfectly for me when manually installed, and contrary to the fearmongering I've not had any problems running Calibre on 3.12 -- or with running this addon after that patch. That's certainly not to say there's not going to be bugs lurking in the corners somewhere or that reporting those bugs will be well-received with that setup, but everyday use is fine.
WovenTales is offline