Flask-Session не может импортировать want_bytes из своего опасного - PullRequest
0 голосов
/ 20 октября 2018

Я использую Flask-Session и недавно установлен или обновлен до его опасного 1.0.0.Теперь я получаю ошибку ImportError: cannot import name '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 или где-либо еще для этогоиметь значение.

Ответы [ 2 ]

0 голосов
/ 03 июня 2019

Файловая структура опасного пакета изменилась.Функция находится в файле session.py.Изменение операторов импорта с:

from itsdangerous import Signer, BadSignature, want_bytes

на

from itsdangerous import Signer, BadSignature
from itsdangerous.encoding import want_bytes

работает для меня.

0 голосов
/ 20 октября 2018

itsdangerous 1.1.0 содержит временное исправление для этого.Вы можете обновить его и продолжить использовать Flask-Session прямо сейчас.Его нет необходимости прикреплять к его опасному == 0,24.


. Недавно был выпущен свой опасный 1.0.0, удаляющий закрытый импорт верхнего уровня.Flask-Session, похоже, использовал такой импорт, from itsdangerous import want_bytes.

Об этом было сообщено Flask-Session , и, надеюсь, исправление будет выпущено в конце концов.

...