我正在使用 Flask-Session,最近安装或升级到了 itsdangerous 1.0.0。现在我收到错误ImportError:无法导入名称'want_bytes'
。为什么会发生此错误以及如何修复它?
from flask import Flask, session
from flask_session import Session
app = Flask(__name__)
app.config["SESSION_TYPE"] = "filesystem"
Session(app)
Traceback (most recent call last):
File "c:\program files\python36\lib\site-packages\flask\cli.py", line 330, in __call__
rv = self._load_unlocked()
File "c:\program files\python36\lib\site-packages\flask\cli.py", line 317, in _load_unlocked
self._app = rv = self.loader()
File "c:\program files\python36\lib\site-packages\flask\cli.py", line 372, in load_app
app = locate_app(self, import_name, name)
File "c:\program files\python36\lib\site-packages\flask\cli.py", line 242, in locate_app
'\n\n{tb}'.format(name=module_name, tb=traceback.format_exc())
flask.cli.NoAppException: While importing "application", an ImportError was raised:
Traceback (most recent call last):
File "c:\program files\python36\lib\site-packages\flask\cli.py", line 235, in locate_app
__import__(module_name)
File "C:\Program Files\Python36\learningPython\web_CS50\project1\application.py", line 4, in <module>
from flask_session import Session
File "c:\program files\python36\lib\site-packages\flask_session\__init__.py", line 16, in <module>
from .sessions import NullSessionInterface, RedisSessionInterface, \
File "c:\program files\python36\lib\site-packages\flask_session\sessions.py", line 23, in <module>
from itsdangerous import Signer, BadSignature, want_bytes
ImportError: cannot import name 'want_bytes'
我对这个问题感到困惑,并且无法在 stackoverflow 或任何与此相关的地方找到适用或有用的答案。
最佳答案
itsdangerous 1.1.0 包含对此问题的临时修复。您现在可以升级其危险版本并继续使用 Flask-Session。无需固定为itsdangerous==0.24。
<小时/>itsdangerous 1.0.0 最近发布,删除了非公开的顶级导入。 Flask-Session 似乎一直在使用这样的导入,from itsdangerous import Want_bytes
。
这已经是reported to Flask-Session希望最终会发布修复程序。
关于python - Flask-Session 无法从 itsdangerous 导入 Want_bytes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52900312/