Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Software > Calibre > Plugins

Notices

Reply
 
Thread Tools Search this Thread
Old 08-07-2024, 02:21 AM   #3061
trishau
Enthusiast
trishau is on a distinguished road
 
Posts: 38
Karma: 68
Join Date: Sep 2014
Location: Australia
Device: Kobo Clara 2E
Automatic - default settings. AFAIK - I have never changed anything there. And definitely not changed anything since I removed it and reinstalled!

Last edited by trishau; 08-07-2024 at 02:23 AM. Reason: sp
trishau is offline   Reply With Quote
Old 08-09-2024, 07:19 AM   #3062
nerdy_knowledge
Junior Member
nerdy_knowledge began at the beginning.
 
Posts: 3
Karma: 10
Join Date: Aug 2024
Device: Kobo Glo
Problem with Kobo Utilities plugin

Hi, I'm using the latest version of Calibre on a fully updated Fedora KDE Plasma. When I install Kobo Utilities, I obviously need to restart Calibre. But after a restart, and even after completely rebooting, I keep getting the same message:

Quote:
calibre, version 7.13.0
ERROR: Must restart: You must restart calibre before you can configure the <b>Kobo Utilities</b> plugin
Obviously, restarting doesn´t help. Other plugins don´t have this issue; I only have it with Kobo Utilities and Kobo Annotations. I've been researching the problem online, but since there's only a very generic message, it's hard to find a solution online.

BTW, I have access to a Macbook, where the plugins work just fine.
nerdy_knowledge is offline   Reply With Quote
Advert
Old 08-09-2024, 09:54 AM   #3063
nerdy_knowledge
Junior Member
nerdy_knowledge began at the beginning.
 
Posts: 3
Karma: 10
Join Date: Aug 2024
Device: Kobo Glo
Found it!

I reinstalled Calibre not from the Fedora repository, but from the downloadpage instead. That solved the problem.
nerdy_knowledge is offline   Reply With Quote
Old 08-09-2024, 11:33 AM   #3064
JSWolf
Resident Curmudgeon
JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.
 
JSWolf's Avatar
 
Posts: 76,533
Karma: 136565488
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
Quote:
Originally Posted by nerdy_knowledge View Post
Hi, I'm using the latest version of Calibre on a fully updated Fedora KDE Plasma. When I install Kobo Utilities, I obviously need to restart Calibre. But after a restart, and even after completely rebooting, I keep getting the same message:

Quote:
calibre, version 7.13.0
ERROR: Must restart: You must restart calibre before you can configure the <b>Kobo Utilities</b> plugin
Obviously, restarting doesn´t help. Other plugins don´t have this issue; I only have it with Kobo Utilities and Kobo Annotations. I've been researching the problem online, but since there's only a very generic message, it's hard to find a solution online.

BTW, I have access to a Macbook, where the plugins work just fine.
Did you install from the Linux repository? If so, you'll want to install fromt he calibre website as repository version are usually broken.
JSWolf is offline   Reply With Quote
Old 08-09-2024, 01:02 PM   #3065
WovenTales
Junior Member
WovenTales began at the beginning.
 
Posts: 7
Karma: 10
Join Date: Oct 2022
Device: Kobo Forma
Quote:
Originally Posted by JSWolf View Post
Quote:
Originally Posted by nerdy_knowledge;post4444921
Hi, I'm using the latest version of Calibre on a fully updated Fedora KDE Plasma. When I install Kobo Utilities, I obviously need to restart Calibre. But after a restart, and even after completely rebooting, I keep getting the same message:

Quote:
calibre, version 7.13.0
ERROR: Must restart: You must restart calibre before you can configure the <b>Kobo Utilities</b> plugin
Obviously, restarting doesn´t help. Other plugins don´t have this issue; I only have it with Kobo Utilities and Kobo Annotations. I've been researching the problem online, but since there's only a very generic message, it's hard to find a solution online.

BTW, I have access to a Macbook, where the plugins work just fine.
Did you install from the Linux repository? If so, you'll want to install fromt he calibre website as repository version are usually broken.
I'm getting the same, but I don't think that's the fault of the Linux packaging, at least on my system:

Code:
Traceback (most recent call last):
  File "/usr/lib64/calibre/calibre/gui2/ui.py", line 147, in __init__
    ac = self.init_iaction(action)
         ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/calibre/calibre/gui2/ui.py", line 165, in init_iaction
    ac = action.load_actual_plugin(self)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/calibre/calibre/customize/__init__.py", line 659, in load_actual_plugin
    ac = getattr(importlib.import_module(mod), cls)(gui,
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "/usr/lib64/calibre/calibre/customize/zipplugin.py", line 205, in exec_module
    exec(compiled, module.__dict__)
  File "calibre_plugins.koboutilities.action", line 40, in <module>
    from six.moves.configparser import SafeConfigParser
ImportError: cannot import name 'SafeConfigParser' from 'configparser' (/usr/lib/python3.12/configparser.py). Did you mean: 'RawConfigParser'?
...and from the Python 3.12 release notes:

Quote:
configparser no longer has a SafeConfigParser class. Use the shorter ConfigParser name instead.
I've not looked into what it would take to patch/hack the plugin in order to verify that updating that typing fixes things, but even if it's not the specific problem we're running into (and this would be a particularly bad message to expose it if it is), it is at the very least a bug in the plugin.

(Also, don't know about the quality of the packaging on other distros, but I'm on Gentoo where everything is built from source and where "download the binary from the website" is not an acceptable solution.)
WovenTales is offline   Reply With Quote
Advert
Old 08-09-2024, 02:15 PM   #3066
ownedbycats
Custom User Title
ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.
 
ownedbycats's Avatar
 
Posts: 9,589
Karma: 65099765
Join Date: Oct 2018
Location: Canada
Device: Kobo Libra H2O, formerly Aura HD
Yeah, don't use Calibre from repository.
ownedbycats is offline   Reply With Quote
Old 08-09-2024, 02:25 PM   #3067
gbm
Wizard
gbm ought to be getting tired of karma fortunes by now.gbm ought to be getting tired of karma fortunes by now.gbm ought to be getting tired of karma fortunes by now.gbm ought to be getting tired of karma fortunes by now.gbm ought to be getting tired of karma fortunes by now.gbm ought to be getting tired of karma fortunes by now.gbm ought to be getting tired of karma fortunes by now.gbm ought to be getting tired of karma fortunes by now.gbm ought to be getting tired of karma fortunes by now.gbm ought to be getting tired of karma fortunes by now.gbm ought to be getting tired of karma fortunes by now.
 
Posts: 2,129
Karma: 8796706
Join Date: Jun 2010
Device: Kobo Clara HD,Hisence Sero 7 Pro RIP, Nook STR, jetbook lite
Yes you do want to run the calibre binary from the calibre website. My system has Python 3.12.3 installed but runs calibre with no problems.
Spoiler:
Code:
~$ calibre-debug -g
calibre 7.16  embedded-python: True
Linux-6.8.0-40-generic-x86_64-with-glibc2.39 Linux ('64bit', 'ELF')
('Linux', '6.8.0-40-generic', '#40-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul  5 10:34:03 UTC 2024')
Python 3.11.5
Interface language: None
EXE path: /opt/calibre/bin/calibre-debug
Successfully initialized third party plugins: ACSM Input (0, 1, 0) && DeDRM (10, 0, 9) && ACSM Input Plugin GUI Extension (0, 1, 0) && Baen (1, 1, 0) && Barnes & Noble (1, 5, 6) && Diaps Editing Toolbag (0, 4, 0) && EpubMerge (3, 1, 0) && EpubSplit (3, 8, 0) && Goodreads (1, 8, 2) && Hyphenate This! (0, 1, 3) && Set KFX metadata (from KFX Output) (2, 9, 0) && KFX Output (2, 9, 0) && KePub Metadata Reader (3, 4, 3) && KePub Metadata Writer (3, 4, 3) && KePub Output (3, 6, 11) && KindleUnpack - The Plugin (0, 83, 1) && Kobo Books (1, 10, 2) && Kobo Utilities (2, 17, 1) && Modify ePub (1, 8, 4) && Quality Check (1, 13, 14)
QPA platform: xcb
devicePixelRatio: 1.0
logicalDpi: 96.0 x 96.0
physicalDpi: 92.53889943074003 x 92.67567567567568
ApplicationPaletteChange event ignored
Using calibre Qt style: True
[0.00] Starting up...
[0.00] Showing splash screen...
[0.07] splash screen shown
[0.07] Initializing db...
[0.31] db initialized
[0.31] Constructing main UI...
DEBUG:    0.0 Kobo Utilities Configuration - CreateNewCustomColumn is supported
DEBUG:    0.0 KoboUtilites::action.py - loading translations
DEBUG:    0.0 KoboUtilites::dialogs.py - loading translations
DEBUG:    0.0 KoboUtilites::action.py - loading translations
ACSM Input: GUI Plugin Genesis!
qt.gui.imageio: libpng warning: iCCP: known incorrect sRGB profile
[1.22] GUI main window shown
EpubMerge: DEBUG: 2024-08-09 13:18:43,914: calibre_plugins.epubmerge.epubmerge_plugin(156): macmenuhack file_path:/home/cocadog/.config/calibre/plugins/fanficfare_macmenuhack.txt
DEBUG:    0.7 No Kobo Touch, Glo or Mini appears to be connected
DEBUG:    0.7 rebuild_menus - self.supports_ratings=None, self.supports_tiles=None
DEBUG:    0.7 KoboUtilities:set_toolbar_button_tooltip - start: text='None'
DEBUG:    0.7 device_driver_name - could not load extended driver. Exception= No module named 'calibre_plugins.kobotouch_extended'
DEBUG:    0.7 KoboUtilities:set_toolbar_button_tooltip - setting to text='Utilities to use with Kobo ereaders

Driver: KoboTouch'
DEBUG:    0.7 device_driver_name - could not load extended driver. Exception= No module named 'calibre_plugins.kobotouch_extended'
[1.29] main UI initialized...
[1.29] Hiding splash screen
[1.53] splash screen hidden
[1.53] Started up in 1.53 seconds with 3787 books


Note that the calibre binary has its own version of python.

bernie
Quote:
Originally Posted by WovenTales View Post
I'm getting the same, but I don't think that's the fault of the Linux packaging, at least on my system:

Code:
Traceback (most recent call last):
  File "/usr/lib64/calibre/calibre/gui2/ui.py", line 147, in __init__
    ac = self.init_iaction(action)
         ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/calibre/calibre/gui2/ui.py", line 165, in init_iaction
    ac = action.load_actual_plugin(self)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/calibre/calibre/customize/__init__.py", line 659, in load_actual_plugin
    ac = getattr(importlib.import_module(mod), cls)(gui,
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "/usr/lib64/calibre/calibre/customize/zipplugin.py", line 205, in exec_module
    exec(compiled, module.__dict__)
  File "calibre_plugins.koboutilities.action", line 40, in <module>
    from six.moves.configparser import SafeConfigParser
ImportError: cannot import name 'SafeConfigParser' from 'configparser' (/usr/lib/python3.12/configparser.py). Did you mean: 'RawConfigParser'?
...and from the Python 3.12 release notes:



I've not looked into what it would take to patch/hack the plugin in order to verify that updating that typing fixes things, but even if it's not the specific problem we're running into (and this would be a particularly bad message to expose it if it is), it is at the very least a bug in the plugin.

(Also, don't know about the quality of the packaging on other distros, but I'm on Gentoo where everything is built from source and where "download the binary from the website" is not an acceptable solution.)
gbm is offline   Reply With Quote
Old 08-09-2024, 08:21 PM   #3068
WovenTales
Junior Member
WovenTales began at the beginning.
 
Posts: 7
Karma: 10
Join Date: Oct 2022
Device: Kobo Forma
Quote:
Originally Posted by gbm View Post
Yes you do want to run the calibre binary from the calibre website. My system has Python 3.12.3 installed but runs calibre with no problems.
Spoiler:
Code:
~$ calibre-debug -g
calibre 7.16  embedded-python: True
Linux-6.8.0-40-generic-x86_64-with-glibc2.39 Linux ('64bit', 'ELF')
('Linux', '6.8.0-40-generic', '#40-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul  5 10:34:03 UTC 2024')
Python 3.11.5
Interface language: None
EXE path: /opt/calibre/bin/calibre-debug
Successfully initialized third party plugins: ACSM Input (0, 1, 0) && DeDRM (10, 0, 9) && ACSM Input Plugin GUI Extension (0, 1, 0) && Baen (1, 1, 0) && Barnes & Noble (1, 5, 6) && Diaps Editing Toolbag (0, 4, 0) && EpubMerge (3, 1, 0) && EpubSplit (3, 8, 0) && Goodreads (1, 8, 2) && Hyphenate This! (0, 1, 3) && Set KFX metadata (from KFX Output) (2, 9, 0) && KFX Output (2, 9, 0) && KePub Metadata Reader (3, 4, 3) && KePub Metadata Writer (3, 4, 3) && KePub Output (3, 6, 11) && KindleUnpack - The Plugin (0, 83, 1) && Kobo Books (1, 10, 2) && Kobo Utilities (2, 17, 1) && Modify ePub (1, 8, 4) && Quality Check (1, 13, 14)
QPA platform: xcb
devicePixelRatio: 1.0
logicalDpi: 96.0 x 96.0
physicalDpi: 92.53889943074003 x 92.67567567567568
ApplicationPaletteChange event ignored
Using calibre Qt style: True
[0.00] Starting up...
[0.00] Showing splash screen...
[0.07] splash screen shown
[0.07] Initializing db...
[0.31] db initialized
[0.31] Constructing main UI...
DEBUG:    0.0 Kobo Utilities Configuration - CreateNewCustomColumn is supported
DEBUG:    0.0 KoboUtilites::action.py - loading translations
DEBUG:    0.0 KoboUtilites::dialogs.py - loading translations
DEBUG:    0.0 KoboUtilites::action.py - loading translations
ACSM Input: GUI Plugin Genesis!
qt.gui.imageio: libpng warning: iCCP: known incorrect sRGB profile
[1.22] GUI main window shown
EpubMerge: DEBUG: 2024-08-09 13:18:43,914: calibre_plugins.epubmerge.epubmerge_plugin(156): macmenuhack file_path:/home/cocadog/.config/calibre/plugins/fanficfare_macmenuhack.txt
DEBUG:    0.7 No Kobo Touch, Glo or Mini appears to be connected
DEBUG:    0.7 rebuild_menus - self.supports_ratings=None, self.supports_tiles=None
DEBUG:    0.7 KoboUtilities:set_toolbar_button_tooltip - start: text='None'
DEBUG:    0.7 device_driver_name - could not load extended driver. Exception= No module named 'calibre_plugins.kobotouch_extended'
DEBUG:    0.7 KoboUtilities:set_toolbar_button_tooltip - setting to text='Utilities to use with Kobo ereaders

Driver: KoboTouch'
DEBUG:    0.7 device_driver_name - could not load extended driver. Exception= No module named 'calibre_plugins.kobotouch_extended'
[1.29] main UI initialized...
[1.29] Hiding splash screen
[1.53] splash screen hidden
[1.53] Started up in 1.53 seconds with 3787 books


Note that the calibre binary has its own version of python.

bernie
Well that's horrific, glad I'm building from source to maintain a sane system. Sure is a good thing ConfigParser has had the exact same interface as SafeConfigParser since Python 3.2 (it's probably an alias from that point on, I don't know exactly how they implemented it) while Calibre has packaged at least 3.8 since it first switched to Python 3 almost exactly four years ago (in the leadup to 5.0.0); Kobo Utilities can update the four lines using the deprecated name without affecting anyone who's not using ancient software.
WovenTales is offline   Reply With Quote
Old 08-10-2024, 12:37 PM   #3069
JSWolf
Resident Curmudgeon
JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.
 
JSWolf's Avatar
 
Posts: 76,533
Karma: 136565488
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
Quote:
Originally Posted by WovenTales View Post
I'm getting the same, but I don't think that's the fault of the Linux packaging, at least on my system:

Code:
Traceback (most recent call last):
  File "/usr/lib64/calibre/calibre/gui2/ui.py", line 147, in __init__
    ac = self.init_iaction(action)
         ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/calibre/calibre/gui2/ui.py", line 165, in init_iaction
    ac = action.load_actual_plugin(self)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/calibre/calibre/customize/__init__.py", line 659, in load_actual_plugin
    ac = getattr(importlib.import_module(mod), cls)(gui,
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "/usr/lib64/calibre/calibre/customize/zipplugin.py", line 205, in exec_module
    exec(compiled, module.__dict__)
  File "calibre_plugins.koboutilities.action", line 40, in <module>
    from six.moves.configparser import SafeConfigParser
ImportError: cannot import name 'SafeConfigParser' from 'configparser' (/usr/lib/python3.12/configparser.py). Did you mean: 'RawConfigParser'?
...and from the Python 3.12 release notes:



I've not looked into what it would take to patch/hack the plugin in order to verify that updating that typing fixes things, but even if it's not the specific problem we're running into (and this would be a particularly bad message to expose it if it is), it is at the very least a bug in the plugin.

(Also, don't know about the quality of the packaging on other distros, but I'm on Gentoo where everything is built from source and where "download the binary from the website" is not an acceptable solution.)
Just try calibre from source and see how you get on. https://calibre-ebook.com A lot of Linux errors are due to the repo version being used.
JSWolf is offline   Reply With Quote
Old 08-10-2024, 12:52 PM   #3070
theducks
Well trained by Cats
theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.
 
theducks's Avatar
 
Posts: 30,455
Karma: 58055868
Join Date: Aug 2009
Location: The Central Coast of California
Device: Kobo Libra2,Kobo Aura2v1, K4NT(Fixed: New Bat.), Galaxy Tab A
As to compiling from source.
The source may be fine, and the OS distribution messed up a dependency
theducks is offline   Reply With Quote
Old 08-11-2024, 08:38 AM   #3071
damccull
Junior Member
damccull began at the beginning.
 
Posts: 2
Karma: 32
Join Date: Aug 2024
Device: Kobo Libra 2
Thanks, @WovenTales, for identifying the issue with deprecated stuff in python 3.12. I made a very small patch, following what the python changelog says, and it works great on my calibre. Here's my patched version if anyone's interested. All I did was change SafeConfigParser to ConfigParser in 4 locations. I also bumped the version to 2.17.2 and added a change to the changelog, and added a quick note to the about.txt message for a new source code location. Seems to work great on my machine.

Does anyone know how to get in touch with the cbhaley person who seems to be maintaining this plugin's release? New to the forum and unsure how to do that.

Quote:
Originally Posted by WovenTales View Post
I'm getting the same, but I don't think that's the fault of the Linux packaging, at least on my system:

Code:
Traceback (most recent call last):
  File "/usr/lib64/calibre/calibre/gui2/ui.py", line 147, in __init__
    ac = self.init_iaction(action)
         ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/calibre/calibre/gui2/ui.py", line 165, in init_iaction
    ac = action.load_actual_plugin(self)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/calibre/calibre/customize/__init__.py", line 659, in load_actual_plugin
    ac = getattr(importlib.import_module(mod), cls)(gui,
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "/usr/lib64/calibre/calibre/customize/zipplugin.py", line 205, in exec_module
    exec(compiled, module.__dict__)
  File "calibre_plugins.koboutilities.action", line 40, in <module>
    from six.moves.configparser import SafeConfigParser
ImportError: cannot import name 'SafeConfigParser' from 'configparser' (/usr/lib/python3.12/configparser.py). Did you mean: 'RawConfigParser'?
...and from the Python 3.12 release notes:



I've not looked into what it would take to patch/hack the plugin in order to verify that updating that typing fixes things, but even if it's not the specific problem we're running into (and this would be a particularly bad message to expose it if it is), it is at the very least a bug in the plugin.

(Also, don't know about the quality of the packaging on other distros, but I'm on Gentoo where everything is built from source and where "download the binary from the website" is not an acceptable solution.)
Attached Files
File Type: zip KoboUtilities-1.7.2.zip (326.4 KB, 493 views)
damccull is offline   Reply With Quote
Old 08-11-2024, 08:51 AM   #3072
damccull
Junior Member
damccull began at the beginning.
 
Posts: 2
Karma: 32
Join Date: Aug 2024
Device: Kobo Libra 2
Here's a copy of the source in my zip file for 2.17.2 if anyone wants it: https://github.com/damccull/Kobo-Utilities
damccull is offline   Reply With Quote
Old 08-11-2024, 09:00 AM   #3073
chaley
Grand Sorcerer
chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.
 
Posts: 12,046
Karma: 7548549
Join Date: Jan 2010
Location: Notts, England
Device: Kobo Libra 2
Quote:
Originally Posted by damccull View Post
Does anyone know how to get in touch with the cbhaley person?
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.
chaley is offline   Reply With Quote
Old 08-11-2024, 09:17 AM   #3074
PeterT
Grand Sorcerer
PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.
 
PeterT's Avatar
 
Posts: 12,783
Karma: 75641916
Join Date: Nov 2007
Location: Toronto
Device: Libra H2O, Libra Colour
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.
Thank you @chaley. I had started a few times to post a pithy reply deakling with these 3rd party repositories and their "philosophical" repackaging of tools like calibre but bit my tongue.
PeterT is offline   Reply With Quote
Old 08-11-2024, 09: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   Reply With Quote
Reply

Tags
calibre, kobo, kobo utilities, kobo-utilities, plugins


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
[GUI Plugin] Manga plugin mastertea Plugins 6 01-06-2022 03:43 AM
[GUI Plugin] Save Virtual Libraries To Column (GUI) chaley Plugins 14 04-04-2021 06:25 AM
Kobo Utilities Plugin Question nikev Kobo Reader 10 09-26-2018 12:55 AM
[GUI Plugin] Plugin Updater **Deprecated** kiwidude Plugins 159 06-19-2011 01:27 PM


All times are GMT -4. The time now is 02:15 PM.


MobileRead.com is a privately owned, operated and funded community.