flask-cache使用报错Python3 ModuleNotFoundError: No module named ‘werkzeug.contrib‘

环境:

Flask 2.1.2

Flask-Cache 0.13.1

Werkzeug 2.1.2

问题:

当使用了flask_cache时导致运行时问题出现:ModuleNotFoundError: No module named 'werkzeug.contrib'

解决方式如下:

1、修改文件/Users/zhangyanli/.pyenv/versions/flaskenv/lib/python3.7/site-packages/flask_cache/init.py。将上一行改为下一行

python 复制代码
# from werkzeug import import_string
from werkzeug.utils import import_string

【备注】这个修改是为了解决如下报错ImportError: cannot import name 'import_string' from 'werkzeug' (/Users/zhangyanli/.pyenv/versions/flaskenv/lib/python3.7/site-packages/werkzeug/init.py)

2、修改文件/Users/zhangyanli/.pyenv/versions/flaskenv/lib/python3.7/site-packages/flask_cache/jinja2ext.py。将上一行改为下一行

python 复制代码
# from flask.ext.cache import make_template_fragment_key
from flask_cache import make_template_fragment_key

3、安装cachelib

python 复制代码
pip install cachelib

【备注】werkzeug.contrib已经在1.0版本被移除了,所以无法从werkzeug.contrib.cache 中导入,需要单独安装cachelib

4、修改文件/Users/zhangyanli/.pyenv/versions/flaskenv/lib/python3.7/site-packages/flask_cache/backends.py。将上一行改为下一行

python 复制代码
# from werkzeug.contrib.cache import (BaseCache, NullCache, SimpleCache, MemcachedCache,GAEMemcachedCache, FileSystemCache)

from cachelib import (BaseCache, NullCache, SimpleCache, MemcachedCache, FileSystemCache)
相关推荐
用户6937175001384几秒前
25.Kotlin 空安全:Kotlin 的灵魂:可空性 (?) 与空安全
android·后端·kotlin
Mr_lai1 分钟前
Perf 工具与火焰图使用指南
后端
努力的小郑4 分钟前
MCP 完全指南(上):撕掉标签,看清本质
前端·后端·ai编程
用户69371750013844 分钟前
26.Kotlin 空安全:安全调用:安全调用运算符 (?.) 与 Elvis 运算符 (?:)
android·后端·kotlin
编织幻境的妖7 分钟前
Python with语句与上下文管理器详解
开发语言·数据库·python
HelloReader8 分钟前
一款“既好玩又靠谱”的 Rust Web 框架
后端·rust
寒水馨9 分钟前
javax.servlet : javax.servlet-api 中文文档(中英对照·API·接口·操作手册·全版本)以4.0.1为例,含Maven依赖
java·后端
expect7g9 分钟前
Flink 2.0--Delta Join
大数据·后端·flink
JavaBoy_XJ9 分钟前
xxl-job在 Spring Boot 项目中的完整配置指南
java·spring boot·后端·xxl-job配置
okseekw11 分钟前
JDK8 Stream流保姆级教程:从入门到实战,告别繁琐遍历
java·后端