问题描述
如果我使用 Flask-JWT-Extended 3.25.0,一切都很好,但是当我使用最新版本时,我收到此错误
Traceback (most recent call last):
File "/usr/local/lib/python3.8/runpy.py",line 194,in _run_module_as_main
return _run_code(code,main_globals,None,File "/usr/local/lib/python3.8/runpy.py",line 87,in _run_code
exec(code,run_globals)
File "/usr/local/lib/python3.8/site-packages/flask/__main__.py",line 15,in <module>
main(as_module=True)
File "/usr/local/lib/python3.8/site-packages/flask/cli.py",line 967,in main
cli.main(args=sys.argv[1:],prog_name="python -m flask" if as_module else None)
File "/usr/local/lib/python3.8/site-packages/flask/cli.py",line 586,in main
return super(FlaskGroup,self).main(*args,**kwargs)
File "/usr/local/lib/python3.8/site-packages/click/core.py",line 782,in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.8/site-packages/click/core.py",line 1259,in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.8/site-packages/click/core.py",line 1066,in invoke
return ctx.invoke(self.callback,**ctx.params)
File "/usr/local/lib/python3.8/site-packages/click/core.py",line 610,in invoke
return callback(*args,**kwargs)
File "/usr/local/lib/python3.8/site-packages/click/decorators.py",line 73,in new_func
return ctx.invoke(f,obj,*args,**kwargs)
File "/usr/local/lib/python3.8/site-packages/flask/cli.py",line 848,in run_command
app = dispatchingApp(info.load_app,use_eager_loading=eager_loading)
File "/usr/local/lib/python3.8/site-packages/flask/cli.py",line 305,in __init__
self._load_unlocked()
File "/usr/local/lib/python3.8/site-packages/flask/cli.py",line 330,in _load_unlocked
self._app = rv = self.loader()
File "/usr/local/lib/python3.8/site-packages/flask/cli.py",line 392,in load_app
app = locate_app(self,import_name,raise_if_not_found=False)
File "/usr/local/lib/python3.8/site-packages/flask/cli.py",line 240,in locate_app
__import__(module_name)
File "/workspaces/HejBE/src/app.py",line 10,in <module>
from api import auth,user,channel,call,connection,expert,accounting # noqa: F401,E402
File "/workspaces/HejBE/src/api/user.py",line 23,in <module>
def get_user_details(user_id):
File "/usr/local/lib/python3.8/site-packages/flask/app.py",line 1315,in decorator
self.add_url_rule(rule,endpoint,f,**options)
File "/usr/local/lib/python3.8/site-packages/flask/app.py",line 98,in wrapper_func
return f(self,**kwargs)
File "/usr/local/lib/python3.8/site-packages/flask/app.py",line 1282,in add_url_rule
raise AssertionError(
AssertionError: View function mapping is overwriting an existing endpoint function: wrapper
名为 wrapper 的函数是否与另一个函数冲突?我的应用程序中没有这样的函数/端点,我使用的其他一些包是:
- pip
- 轮子
- 烧瓶
- Flask-JWT-Extended==4.0.2
- sqlAlchemy
- Flask_sqlAlchemy
- Flask_Migrate
- alembic
- pytz
- google-api-python-client
- gevent
- pytest
- pytest-cov
- firebase 管理员
- psycopg2-二进制
- boto3
为什么?
解决方法
请务必仔细阅读 4.0.0 重大更改和升级指南:https://flask-jwt-extended.readthedocs.io/en/stable/v4_upgrade_guide/。
您可能错过了其中的某些内容,例如仍在使用 @jwt_required
而不是 @jwt_required()