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
349 stars 17 forks source link

Downgrade numpy still cannot generate word wise #234

Open ImThePsycho opened 1 week ago

ImThePsycho commented 1 week ago

Checkboxes

Describe the bug and copy the error message

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

Starting job: Generating Word Wise for I'm Glad My Mom Died (9781982185848) Job: "Generating Word Wise for I'm Glad My Mom Died (9781982185848)" failed with error: Traceback (most recent call last): File "calibre/gui2/threaded_jobs.py", line 85, in start_work File "calibre_plugins.worddumb.parse_job", line 211, in do_job run_subprocess(args, input_str) File "calibre_plugins.worddumb.utils", line 53, in run_subprocess return subprocess.run( ^^^^^^^^^^^^^^^ File "subprocess.py", line 571, in run subprocess.CalledProcessError: Command '['/usr/local/bin/python3', '/Users/iriswong/Library/Preferences/calibre/plugins/WordDumb.zip', '{"book_id": 8, "book_path": "/Users/iriswong/Calibre Library/Jennette McCurdy/I\'m Glad My Mom Died (9781982185848) (8)/I\'m Glad My Mom Died (9781982185848) - Jennette McCurdy.azw3", "mi": null, "book_fmt": "AZW3", "book_lang": "en", "useragent": "WordDumb/3.32.0 (https://github.com/xxyzz/WordDumb)", "plugin_path": "/Users/iriswong/Library/Preferences/calibre/plugins/WordDumb.zip", "spacy_model": "en_core_web_md", "create_ww": true, "create_x": false, "asin": "BB9WCHYCOQ", "acr": "I\'m_Glad_My_MomDied(978198218", "revision": "13646ac8", "kfx_json": null, "mobi_html": null, "mobi_codec": "utf-8"}', '{"use_pos": true, "search_people": false, "model_size": "md", "zh_wiki_variant": "cn", "mediawiki_api": "", "add_locator_map": false, "preferred_formats": ["AZW3", "EPUB", "MOBI", "AZW", "KFX"], "use_all_formats": false, "minimal_x_ray_count": 1, "choose_format_manually": true, "wiktionary_gloss_lang": "en", "kindle_gloss_lang": "zh_cn", "use_gpu": false, "cuda": "cu121", "use_wiktionary_for_kindle": true, "remove_link_styles": false, "python_path": "/usr/local/bin/python3", "show_change_kindle_ww_lang_warning": false, "ca_wiktionary_difficulty_limit": 5, "cs_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, "he_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=8, book_path="/Users/iriswong/Calibre Library/Jennette McCurdy/I'm Glad My Mom Died (9781982185848) (8)/I'm Glad My Mom Died (9781982185848) - Jennette McCurdy.azw3", mi=<calibre.ebooks.metadata.book.base.Metadata object at 0x12844cfd0>, book_fmt='AZW3', book_lang='en', useragent='WordDumb/3.32.0 (https://github.com/xxyzz/WordDumb)', plugin_path='/Users/iriswong/Library/Preferences/calibre/plugins/WordDumb.zip', spacy_model='en_core_web_md', create_ww=True, create_x=False, asin='BB9WCHYCOQ', acr="I'm_Glad_My_MomDied(978198218", revision='13646ac8', kfx_json=None, mobi_html=None, mobi_codec='utf-8'),) {'notifications': <queue.Queue object at 0x11ed9a690>, 'abort': <threading.Event at 0x12848c210: unset>, 'log': <calibre.utils.logging.GUILog object at 0x1284b8450>} Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/Users/iriswong/Library/Preferences/calibre/plugins/WordDumb.zip/main.py", line 37, in File "/Users/iriswong/Library/Preferences/calibre/plugins/WordDumb.zip/parse_job.py", line 237, in create_files File "/Users/iriswong/Library/Preferences/calibre/plugins/WordDumb.zip/parse_job.py", line 763, in load_spacy File "/Users/iriswong/Library/Preferences/calibre/plugins/worddumb-libs-py3.11/spacy/init.py", line 6, in from .errors import setup_default_warnings File "/Users/iriswong/Library/Preferences/calibre/plugins/worddumb-libs-py3.11/spacy/errors.py", line 3, in from .compat import Literal File "/Users/iriswong/Library/Preferences/calibre/plugins/worddumb-libs-py3.11/spacy/compat.py", line 39, in from thinc.api import Optimizer # noqa: F401 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/iriswong/Library/Preferences/calibre/plugins/worddumb-libs-py3.11/thinc/api.py", line 1, in from .backends import ( File "/Users/iriswong/Library/Preferences/calibre/plugins/worddumb-libs-py3.11/thinc/backends/init.py", line 17, in from .cupy_ops import CupyOps File "/Users/iriswong/Library/Preferences/calibre/plugins/worddumb-libs-py3.11/thinc/backends/cupy_ops.py", line 16, in from .numpy_ops import NumpyOps File "thinc/backends/numpy_ops.pyx", line 1, in init thinc.backends.numpy_ops ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject

Plugin settings and reproduce steps

After degrading numpy it still didnt work, not sure which part is wrong

Generated files, screenshots or videos

SCR-20240619-jpjf
xxyzz commented 1 week ago

I guess you didn't notice the downgrade command install the package for Python 3.12 but you're using Python 3.11. You need to change the folder name(*-py3.11) in the command argument.

ImThePsycho commented 1 week ago

I guess you didn't notice the downgrade command install the package for Python 3.12 but you're using Python 3.11. You need to change the folder name(*-py3.11) in the command argument.

Thanks a lot

nonuscolling1 commented 6 days ago

Thanks how to make compatible with latest python version

xxyzz commented 5 days ago

Delete the "worddumb-libs-py*" folder and let the plugin redownload dependencies. spaCy's developer had released a new version of thinc package that uses numpy v1.