11

我得到的确切错误是:

flask.cli.NoAppException: While importing "application", an ImportError was raised:Traceback      (most recent call last):
File "/home/harshit/.local/lib/python3.6/site-packages/flask/cli.py", line 240, in     locate_app
__import__(module_name)
File "/home/harshit/Documents/project1/application.py", line 18, in <module>
Session(app)
File "/home/harshit/.local/lib/python3.6/site-packages/flask_session/__init__.py", line 54,    in __init__
self.init_app(app)
File "/home/harshit/.local/lib/python3.6/site-packages/flask_session/__init__.py", line 61, in init_app
app.session_interface = self._get_interface(app)
File "/home/harshit/.local/lib/python3.6/site-packages/flask_session/__init__.py", line 93, in _get_interface
config['SESSION_USE_SIGNER'], config['SESSION_PERMANENT'])
File "/home/harshit/.local/lib/python3.6/site-packages/flask_session/sessions.py", line 313, in __init__
from werkzeug.contrib.cache import FileSystemCache
ModuleNotFoundError: No module named 'werkzeug.contrib'

我正在尝试从 Flask 导入会话

4

6 回答 6

18

Werkzeug 1.0.0 已删除不推荐使用的代码,包括所有werkzeug.contrib. 您应该为新项目使用替代库。werkzeug.contrib.session被提取到secure-cookie


如果您正在使用的现有项目需要来自 的contrib内容,则需要降级到 Werkzeug<1:

pip3 install Werkzeug<1
于 2020-03-10T19:09:39.470 回答
5

您需要将werkzeug版本从1.0.0降级到0.16.0

这为我解决了这个问题。

只需在您的项目中运行以下命令

python3 -m pip uninstall werkzeug

接着

python3 -m pip install werkzeug==0.16.0

于 2020-07-28T10:02:08.367 回答
3

将版本降级到 0.16.0 或替换werkzeug.contrib.cachecachelib.

我强烈建议升级软件包。弃用的模块werkzeug.contrib很容易更换!

安装cachelib和替换所有导入:

from werkzeug.contrib.cache import FileSystemCache

from cachelib import FileSystemCache
于 2020-08-07T16:24:18.303 回答
2

对于 Python 3.8

python3 -m pip uninstall werkzeug
python3 -m pip install werkzeug
python3 -m pip install flask-session
于 2020-05-15T20:22:16.560 回答
0

降级 werkzeug 后:

pip install werkzeug==0.16.0

如果您得到以下信息: flask 2.0.2 requires Werkzeug>=2.0, but you have werkzeug 0.16.0 which is incompatible

考虑做:pip install flask==1.1.1

于 2022-01-25T22:18:11.140 回答
0

如果您仍然需要从 中弃用的代码werkzeug.contrib,您可以将 Werkzeug 版本降级到小于 1。

pip install Werkzeug<1
于 2020-03-10T19:07:26.110 回答