layday / instawow

World of Warcraft add-on manager CLI and GUI
GNU General Public License v3.0
161 stars 9 forks source link

ModuleNotFoundError: No module named 'rapidfuzz.utils_py' #112

Closed ciphersimian closed 2 years ago

ciphersimian commented 2 years ago

I just ran into the following error with the new v1.41.0 release:

$ ./instawow-cli-1.41.0-ubuntu-latest/instawow-standalone -p wow1 search tomtom
Traceback (most recent call last):
  File "rapidfuzz/utils.py", line 17, in _fallback_import
  File "importlib/__init__.py", line 127, in import_module
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'rapidfuzz.utils_cpp'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "instawow/__main__.py", line 19, in <module>
    main(prog_name=prog_name)
  File "loguru/_logger.py", line 1226, in catch_wrapper
  File "click/core.py", line 1130, in __call__
  File "click/core.py", line 1055, in main
  File "click/core.py", line 1657, in invoke
  File "click/core.py", line 1404, in invoke
  File "click/core.py", line 760, in invoke
  File "click/decorators.py", line 26, in new_func
  File "instawow/cli.py", line 682, in search
    entries = mw.run_with_progress(
  File "instawow/cli.py", line 199, in run_with_progress
    return asyncio.run(run())
  File "asyncio/runners.py", line 44, in run
  File "asyncio/base_events.py", line 647, in run_until_complete
  File "instawow/cli.py", line 197, in run
    return await awaitable
  File "instawow/manager.py", line 619, in search
    import rapidfuzz.fuzz
  File "PyInstaller/loader/pyimod02_importers.py", line 493, in exec_module
  File "rapidfuzz/__init__.py", line 8, in <module>
  File "PyInstaller/loader/pyimod02_importers.py", line 493, in exec_module
  File "rapidfuzz/process.py", line 4, in <module>
  File "PyInstaller/loader/pyimod02_importers.py", line 493, in exec_module
  File "rapidfuzz/utils.py", line 29, in <module>
  File "rapidfuzz/utils.py", line 19, in _fallback_import
  File "importlib/__init__.py", line 127, in import_module
ModuleNotFoundError: No module named 'rapidfuzz.utils_py'
[62922] Failed to execute script '__main__' due to unhandled exception!

It works as expected with the test version I was using previously:

$ ./instawow-cli-1.40.0.post7.dev0-ubuntu-latest/instawow-standalone -p wow1 search tomtom
Select add-ons to install  (use arrow keys to move, <space> to select, <o> to view in your browser)
 » ○ TomTom  (wowi:7032-tomtom==v3.1.3)
   ○ TomTom  (curse:tomtom==v3.1.3)
   ○ Cloud Serpent Onyx Eggs Coords - TomTom  (curse:cloud-serpent-onyx-egg-coords==OnyxEggs)
   ○ TomTom Crazy Arrow Hide  (curse:kcrazyarrowhide==r17)
   ○ TomTom group member arrow  (curse:tomtom-group-member-arrow==v1.16.4)
...

I'm using manjaro now rather than ubuntu, so perhaps I should switch to trying to use the AUR instawow package, but this release was working for me before the most recent update.

Full --debug output follows:

$ ./instawow-cli-1.41.0-ubuntu-latest/instawow-standalone --debug -p wow1 search tomtom
2022-08-17 18:55:15.130 | DEBUG    | logging:callHandlers:1661
  Using selector: EpollSelector
2022-08-17 18:55:15.183 | INFO     | instawow.manager:_load_certifi_certs:196
  loading certifi certs
2022-08-17 18:55:15.190 | ERROR    | __main__:<module>:19
  An error has been caught in function '<module>', process 'MainProcess' (62970), thread 'MainThread' (139887263559744):
Traceback (most recent call last):

  File "rapidfuzz/utils.py", line 17, in _fallback_import

  File "importlib/__init__.py", line 127, in import_module

  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked

ModuleNotFoundError: No module named 'rapidfuzz.utils_cpp'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

> File "instawow/__main__.py", line 19, in <module>
    main(prog_name=prog_name)
    │              └ '/wow/instawow-cli-1.41.0-ubuntu-latest/instawow-standalone'
    └ <function Logger.catch.<locals>.Catcher.__call__.<locals>.catch_wrapper at 0x7f3a083cadc0>

  File "click/core.py", line 1130, in __call__

  File "click/core.py", line 1055, in main

  File "click/core.py", line 1657, in invoke

  File "click/core.py", line 1404, in invoke

  File "click/core.py", line 760, in invoke

  File "click/decorators.py", line 26, in new_func

  File "instawow/cli.py", line 682, in search
    entries = mw.run_with_progress(
              │  └ <function _CtxObjWrapper.run_with_progress at 0x7f3a083caaf0>
              └ <instawow.cli._CtxObjWrapper object at 0x7f3a09d0caf0>

  File "instawow/cli.py", line 199, in run_with_progress
    return asyncio.run(run())
           │       │   └ <function _CtxObjWrapper.run_with_progress.<locals>.run at 0x7f3a076e78b0>
           │       └ <function run at 0x7f3a09d295e0>
           └ <module 'asyncio' from '/wow/instawow-cli-1.41.0-ubuntu-latest/asyncio/__init__.pyc'>

  File "asyncio/runners.py", line 44, in run

  File "asyncio/base_events.py", line 647, in run_until_complete

  File "instawow/cli.py", line 188, in run
    return await awaitable
                 └ <coroutine object Manager.search at 0x7f3a076c88c0>

  File "instawow/manager.py", line 619, in search
    import rapidfuzz.fuzz

  File "PyInstaller/loader/pyimod02_importers.py", line 493, in exec_module

  File "rapidfuzz/__init__.py", line 8, in <module>

  File "PyInstaller/loader/pyimod02_importers.py", line 493, in exec_module

  File "rapidfuzz/process.py", line 4, in <module>

  File "PyInstaller/loader/pyimod02_importers.py", line 493, in exec_module

  File "rapidfuzz/utils.py", line 29, in <module>

  File "rapidfuzz/utils.py", line 19, in _fallback_import

  File "importlib/__init__.py", line 127, in import_module

ModuleNotFoundError: No module named 'rapidfuzz.utils_py'
Traceback (most recent call last):
  File "rapidfuzz/utils.py", line 17, in _fallback_import
  File "importlib/__init__.py", line 127, in import_module
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'rapidfuzz.utils_cpp'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "instawow/__main__.py", line 19, in <module>
    main(prog_name=prog_name)
  File "loguru/_logger.py", line 1226, in catch_wrapper
  File "click/core.py", line 1130, in __call__
  File "click/core.py", line 1055, in main
  File "click/core.py", line 1657, in invoke
  File "click/core.py", line 1404, in invoke
  File "click/core.py", line 760, in invoke
  File "click/decorators.py", line 26, in new_func
  File "instawow/cli.py", line 682, in search
    entries = mw.run_with_progress(
  File "instawow/cli.py", line 199, in run_with_progress
    return asyncio.run(run())
  File "asyncio/runners.py", line 44, in run
  File "asyncio/base_events.py", line 647, in run_until_complete
  File "instawow/cli.py", line 188, in run
    return await awaitable
  File "instawow/manager.py", line 619, in search
    import rapidfuzz.fuzz
  File "PyInstaller/loader/pyimod02_importers.py", line 493, in exec_module
  File "rapidfuzz/__init__.py", line 8, in <module>
  File "PyInstaller/loader/pyimod02_importers.py", line 493, in exec_module
  File "rapidfuzz/process.py", line 4, in <module>
  File "PyInstaller/loader/pyimod02_importers.py", line 493, in exec_module
  File "rapidfuzz/utils.py", line 29, in <module>
  File "rapidfuzz/utils.py", line 19, in _fallback_import
  File "importlib/__init__.py", line 127, in import_module
ModuleNotFoundError: No module named 'rapidfuzz.utils_py'
[62970] Failed to execute script '__main__' due to unhandled exception!
layday commented 2 years ago

🤦

Thanks, this should be fixed in v1.42.0.