xxyzz / WordDumb

A calibre plugin that generates Kindle Word Wise and X-Ray files for KFX, AZW3, MOBI and EPUB eBook.
https://xxyzz.github.io/WordDumb/
GNU General Public License v3.0
376 stars 19 forks source link

Can't x ray or wordwise anymore #160

Closed bookish-bee closed 1 month ago

bookish-bee commented 11 months ago

Checkboxes

Describe the bug

The plugin stopped working recently, and i'm a novice who just can't figure out what went wrong.

Operating System name and version

Win11

Python version

3,11

calibre version

6.29

WordDumb plugin version

3.29.7

Error message

calibre, version 6.29.0 (win32, embedded-python: True)
Tonnerre de Brest!: An error occurred, please copy error message then report bug at GitHub.

Starting job: Generating Word Wise and X-Ray for A Curse For True Love 
Job: "Generating Word Wise and X-Ray for A Curse For True Love" failed with error: 
Traceback (most recent call last):
  File "calibre\gui2\threaded_jobs.py", line 82, in start_work
  File "calibre_plugins.worddumb.parse_job", line 203, in do_job
  File "calibre_plugins.worddumb.utils", line 55, in run_subprocess
  File "subprocess.py", line 524, in run
subprocess.CalledProcessError: Command '['py', 'C:\\Users\\gunja\\AppData\\Roaming\\calibre\\plugins\\WordDumb.zip', '{"book_id": 63, "book_path": "C:\\\\Users\\\\gunja\\\\Calibre Library\\\\Stephanie Garber\\\\A Curse For True Love (63)\\\\A Curse For True Love - Stephanie Garber.kfx", "mi": null, "book_fmt": "KFX", "book_lang": "en", "useragent": "WordDumb/3.29.7 (https://github.com/xxyzz/WordDumb)", "plugin_path": "C:\\\\Users\\\\gunja\\\\AppData\\\\Roaming\\\\calibre\\\\plugins\\\\WordDumb.zip", "spacy_model": "en_core_web_trf", "create_ww": true, "create_x": true, "asin": "BBPD3ONHUW", "acr": "CR!9QVU2XFBT06K4L3ZZGTHGWOE1UTH", "revision": "", "update_asin": false, "kfx_json": null, "mobi_html": null, "mobi_codec": ""}', '{"use_pos": true, "search_people": true, "model_size": "lg", "zh_wiki_variant": "cn", "fandom": "", "add_locator_map": true, "preferred_formats": ["KFX", "AZW3", "AZW", "MOBI", "EPUB"], "use_all_formats": true, "minimal_x_ray_count": 15, "en_ipa": "ga_ipa", "zh_ipa": "pinyin", "choose_format_manually": false, "wiktionary_gloss_lang": "en", "kindle_gloss_lang": "en", "use_gpu": true, "cuda": "cu118", "last_opened_kindle_lemmas_language": "en", "last_opened_wiktionary_lemmas_language": "en", "use_wiktionary_for_kindle": true, "ca_wiktionary_difficulty_limit": 5, "da_wiktionary_difficulty_limit": 5, "de_wiktionary_difficulty_limit": 5, "el_wiktionary_difficulty_limit": 5, "en_wiktionary_difficulty_limit": 5, "es_wiktionary_difficulty_limit": 5, "fi_wiktionary_difficulty_limit": 5, "fr_wiktionary_difficulty_limit": 5, "hr_wiktionary_difficulty_limit": 5, "it_wiktionary_difficulty_limit": 5, "ja_wiktionary_difficulty_limit": 5, "ko_wiktionary_difficulty_limit": 5, "lt_wiktionary_difficulty_limit": 5, "mk_wiktionary_difficulty_limit": 5, "nl_wiktionary_difficulty_limit": 5, "no_wiktionary_difficulty_limit": 5, "pl_wiktionary_difficulty_limit": 5, "pt_wiktionary_difficulty_limit": 5, "ro_wiktionary_difficulty_limit": 5, "ru_wiktionary_difficulty_limit": 5, "sl_wiktionary_difficulty_limit": 5, "sv_wiktionary_difficulty_limit": 5, "uk_wiktionary_difficulty_limit": 5, "zh_wiktionary_difficulty_limit": 5}']' returned non-zero exit status 1.

Called with args: (ParseJobData(book_id=63, book_path='C:\\Users\\gunja\\Calibre Library\\Stephanie Garber\\A Curse For True Love (63)\\A Curse For True Love - Stephanie Garber.kfx', mi=<calibre.ebooks.metadata.book.base.Metadata object at 0x00000241E3D51450>, book_fmt='KFX', book_lang='en', useragent='WordDumb/3.29.7 (https://github.com/xxyzz/WordDumb)', plugin_path='C:\\Users\\gunja\\AppData\\Roaming\\calibre\\plugins\\WordDumb.zip', spacy_model='en_core_web_trf', create_ww=True, create_x=True, asin='BBPD3ONHUW', acr='CR!9QVU2XFBT06K4L3ZZGTHGWOE1UTH', revision='', update_asin=False, kfx_json=None, mobi_html=None, mobi_codec=''),) {'notifications': <queue.Queue object at 0x00000241E3D51780>, 'abort': <threading.Event object at 0x00000241E3D53D60>, 'log': <calibre.utils.logging.GUILog object at 0x00000241E3D53BE0>} 
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\gunja\AppData\Roaming\calibre\plugins\WordDumb.zip\__main__.py", line 39, in <module>
  File "C:\Users\gunja\AppData\Roaming\calibre\plugins\WordDumb.zip\parse_job.py", line 229, in create_files
  File "C:\Users\gunja\AppData\Roaming\calibre\plugins\WordDumb.zip\parse_job.py", line 782, in load_spacy
  File "C:\Users\gunja\AppData\Roaming\calibre\plugins\worddumb-libs-py3.11\thinc\util.py", line 230, in require_gpu
    raise ValueError("Cannot use GPU, CuPy is not installed")
ValueError: Cannot use GPU, CuPy is not installed

Reproduce steps

I tried using the plugin as usual: This was the error message displayed-

calibre, version 6.29.0 (win32, embedded-python: True) Tonnerre de Brest!: An error occurred, please copy error message then report bug at GitHub.

Starting job: Generating Word Wise and X-Ray for A Curse For True Love Job: "Generating Word Wise and X-Ray for A Curse For True Love" failed with error: Traceback (most recent call last): File "calibre\gui2\threaded_jobs.py", line 82, in start_work File "calibre_plugins.worddumb.parse_job", line 203, in do_job File "calibre_plugins.worddumb.utils", line 55, in run_subprocess File "subprocess.py", line 524, in run subprocess.CalledProcessError: Command '['py', 'C:\Users\gunja\AppData\Roaming\calibre\plugins\WordDumb.zip', '{"book_id": 63, "book_path": "C:\\Users\\gunja\\Calibre Library\\Stephanie Garber\\A Curse For True Love (63)\\A Curse For True Love - Stephanie Garber.kfx", "mi": null, "book_fmt": "KFX", "book_lang": "en", "useragent": "WordDumb/3.29.7 (https://github.com/xxyzz/WordDumb)", "plugin_path": "C:\\Users\\gunja\\AppData\\Roaming\\calibre\\plugins\\WordDumb.zip", "spacy_model": "en_core_web_trf", "create_ww": true, "create_x": true, "asin": "BBPD3ONHUW", "acr": "CR!9QVU2XFBT06K4L3ZZGTHGWOE1UTH", "revision": "", "update_asin": false, "kfx_json": null, "mobi_html": null, "mobi_codec": ""}', '{"use_pos": true, "search_people": true, "model_size": "lg", "zh_wiki_variant": "cn", "fandom": "", "add_locator_map": true, "preferred_formats": ["KFX", "AZW3", "AZW", "MOBI", "EPUB"], "use_all_formats": true, "minimal_x_ray_count": 15, "en_ipa": "ga_ipa", "zh_ipa": "pinyin", "choose_format_manually": false, "wiktionary_gloss_lang": "en", "kindle_gloss_lang": "en", "use_gpu": true, "cuda": "cu118", "last_opened_kindle_lemmas_language": "en", "last_opened_wiktionary_lemmas_language": "en", "use_wiktionary_for_kindle": true, "ca_wiktionary_difficulty_limit": 5, "da_wiktionary_difficulty_limit": 5, "de_wiktionary_difficulty_limit": 5, "el_wiktionary_difficulty_limit": 5, "en_wiktionary_difficulty_limit": 5, "es_wiktionary_difficulty_limit": 5, "fi_wiktionary_difficulty_limit": 5, "fr_wiktionary_difficulty_limit": 5, "hr_wiktionary_difficulty_limit": 5, "it_wiktionary_difficulty_limit": 5, "ja_wiktionary_difficulty_limit": 5, "ko_wiktionary_difficulty_limit": 5, "lt_wiktionary_difficulty_limit": 5, "mk_wiktionary_difficulty_limit": 5, "nl_wiktionary_difficulty_limit": 5, "no_wiktionary_difficulty_limit": 5, "pl_wiktionary_difficulty_limit": 5, "pt_wiktionary_difficulty_limit": 5, "ro_wiktionary_difficulty_limit": 5, "ru_wiktionary_difficulty_limit": 5, "sl_wiktionary_difficulty_limit": 5, "sv_wiktionary_difficulty_limit": 5, "uk_wiktionary_difficulty_limit": 5, "zh_wiktionary_difficulty_limit": 5}']' returned non-zero exit status 1.

Called with args: (ParseJobData(book_id=63, book_path='C:\Users\gunja\Calibre Library\Stephanie Garber\A Curse For True Love (63)\A Curse For True Love - Stephanie Garber.kfx', mi=<calibre.ebooks.metadata.book.base.Metadata object at 0x00000241E3D51450>, book_fmt='KFX', book_lang='en', useragent='WordDumb/3.29.7 (https://github.com/xxyzz/WordDumb)', plugin_path='C:\Users\gunja\AppData\Roaming\calibre\plugins\WordDumb.zip', spacy_model='en_core_web_trf', create_ww=True, create_x=True, asin='BBPD3ONHUW', acr='CR!9QVU2XFBT06K4L3ZZGTHGWOE1UTH', revision='', update_asin=False, kfx_json=None, mobi_html=None, mobi_codec=''),) {'notifications': <queue.Queue object at 0x00000241E3D51780>, 'abort': <threading.Event object at 0x00000241E3D53D60>, 'log': <calibre.utils.logging.GUILog object at 0x00000241E3D53BE0>} Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "C:\Users\gunja\AppData\Roaming\calibre\plugins\WordDumb.zip__main__.py", line 39, in File "C:\Users\gunja\AppData\Roaming\calibre\plugins\WordDumb.zip\parse_job.py", line 229, in create_files File "C:\Users\gunja\AppData\Roaming\calibre\plugins\WordDumb.zip\parse_job.py", line 782, in load_spacy File "C:\Users\gunja\AppData\Roaming\calibre\plugins\worddumb-libs-py3.11\thinc\util.py", line 230, in require_gpu raise ValueError("Cannot use GPU, CuPy is not installed") ValueError: Cannot use GPU, CuPy is not installed

Generated files, screenshots or videos

No response

xxyzz commented 11 months ago

The cupy package can't be imported, could you post the file names in the "C:\Users\gunja\AppData\Roaming\calibre\plugins\worddumb-libs-py3.11" folder?

bookish-bee commented 11 months ago

The cupy package can't be imported, could you post the file names in the "C:\Users\gunja\AppData\Roaming\calibre\plugins\worddumb-libs-py3.11" folder?

There are 160 files in the folder

Screenshot (120)

xxyzz commented 11 months ago

Is "cupy" in that folder?

You could also disable the "use GPU" feature.

xxyzz commented 1 month ago

GPU models are not supported now.