emmett-framework / rest

REST extension for Emmett framework
BSD 3-Clause "New" or "Revised" License
14 stars 2 forks source link

ImportError: cannot import name 'RouteCacheRule' from 'emmett.cache' (emmett 2.6) #24

Closed josejachuf closed 3 days ago

josejachuf commented 3 days ago

Hi @gi0baro,

This happens with the new Emmett 2.6

pip list Package Version


certifi 2024.8.30 charset-normalizer 3.4.0 click 8.1.7 emmett 2.6.0 emmett-core 1.0.1 emmett-crypto 0.6.0 emmett-pydal 17.3.1 emmett-rest 1.5.2 granian 1.6.0 idna 3.10 pendulum 3.0.0 pip 24.2 psycopg2-binary 2.9.9 pydantic 1.10.18 PyJWT 2.9.0 python-dateutil 2.9.0.post0 python-rapidjson 1.20 PyYAML 6.0.2 renoir 1.8.0 requests 2.32.3 severus 1.4.0 six 1.16.0 time-machine 2.16.0 typing_extensions 4.12.2 tzdata 2024.2 urllib3 2.2.3 uvloop 0.20.0

An error occurs when emmett is executed (shell, develop, migrations)

emmett shell Traceback (most recent call last): File "/venv/lib/python3.12/site-packages/emmett_core/_internal.py", line 106, in get_app_module import(module_name) File "/tasaciones-collect-back/src/init.py", line 17, in from emmett_rest import REST File "/venv/lib/python3.12/site-packages/emmett_rest/init.py", line 1, in from .ext import REST File "/venv/lib/python3.12/site-packages/emmett_rest/ext.py", line 18, in from .openapi.mod import OpenAPIModule File "/venv/lib/python3.12/site-packages/emmett_rest/openapi/mod.py", line 16, in from emmett.cache import RamCache, RouteCacheRule ImportError: cannot import name 'RouteCacheRule' from 'emmett.cache' (/venv/lib/python3.12/site-packages/emmett/cache.py)

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/venv/bin/emmett", line 8, in sys.exit(main()) ^^^^^^ File "/venv/lib/python3.12/site-packages/emmett/cli.py", line 473, in main cli.main(prog_name="python -m emmett" if as_module else None) File "/venv/lib/python3.12/site-packages/emmett/cli.py", line 225, in main return super().main(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.12/site-packages/click/core.py", line 1078, in main rv = self.invoke(ctx) ^^^^^^^^^^^^^^^^ File "/venv/lib/python3.12/site-packages/click/core.py", line 1688, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.12/site-packages/click/core.py", line 1434, in invoke return ctx.invoke(self.callback, ctx.params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.12/site-packages/click/core.py", line 783, in invoke return __callback(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.12/site-packages/click/decorators.py", line 92, in new_func return ctx.invoke(f, obj, *args, *kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.12/site-packages/click/core.py", line 783, in invoke return __callback(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.12/site-packages/emmett/cli.py", line 347, in shell_command ctx = info.load_appctx() ^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.12/site-packages/emmett/cli.py", line 147, in load_appctx mod = get_app_module(import_name) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.12/site-packages/emmett_core/_internal.py", line 109, in get_app_module raise RuntimeError( RuntimeError: While importing 'src', an ImportError was raised:

Traceback (most recent call last): File "/venv/lib/python3.12/site-packages/emmett_core/_internal.py", line 106, in get_app_module import(module_name) File "/tasaciones-collect-back/src/init.py", line 17, in from emmett_rest import REST File "/venv/lib/python3.12/site-packages/emmett_rest/init.py", line 1, in from .ext import REST File "/venv/lib/python3.12/site-packages/emmett_rest/ext.py", line 18, in from .openapi.mod import OpenAPIModule File "/venv/lib/python3.12/site-packages/emmett_rest/openapi/mod.py", line 16, in from emmett.cache import RamCache, RouteCacheRule ImportError: cannot import name 'RouteCacheRule' from 'emmett.cache' (/venv/lib/python3.12/site-packages/emmett/cache.py)

gi0baro commented 3 days ago

@josejachuf thank you for pointing this out, moved to REST repo. Gonna release an update later today