从flask_session导入会话产生ImportError:无法导入名称want_bytes

时间:2018-10-22 01:09:56

标签: python flask flask-session

我正在尝试将flask_session用于基于redis的会话,并收到以下错误:

使用以下

from flask_session import Session

产生错误:

shadow_1  | Traceback (most recent call last):
shadow_1  |   File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
shadow_1  |     worker.init_process()
shadow_1  |   File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 129, in init_process
shadow_1  |     self.load_wsgi()
shadow_1  |   File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 138, in load_wsgi
shadow_1  |     self.wsgi = self.app.wsgi()
shadow_1  |   File "/usr/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
shadow_1  |     self.callable = self.load()
shadow_1  |   File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 52, in load
shadow_1  |     return self.load_wsgiapp()
shadow_1  |   File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 41, in load_wsgiapp
shadow_1  |     return util.import_app(self.app_uri)
shadow_1  |   File "/usr/local/lib/python2.7/site-packages/gunicorn/util.py", line 350, in import_app
shadow_1  |     __import__(module)
shadow_1  |   File "/usr/src/app/app.py", line 13, in <module>
shadow_1  |     from flask_session import Session
shadow_1  |   File "/usr/local/lib/python2.7/site-packages/flask_session/__init__.py", line 16, in <module>
shadow_1  |     from .sessions import NullSessionInterface, RedisSessionInterface, \
shadow_1  |   File "/usr/local/lib/python2.7/site-packages/flask_session/sessions.py", line 23, in <module>
shadow_1  |     from itsdangerous import Signer, BadSignature, want_bytes
shadow_1  | ImportError: cannot import name want_bytes

1 个答案:

答案 0 :(得分:1)

flask_session程序包依赖于它的ItsDangerous程序包,该程序在不活动3年后就发布了新版本,并且它更改了API,现在破坏了Flask_session。

尝试将0.24版本添加到Requirements.txt中

requirements.txt:

ItsDangerous==0.24