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)
相关推荐
CAE虚拟与现实几秒前
五一假期闲来无事,来个前段、后端的说明吧
前端·后端·vtk·three.js·前后端
0xDevNull2 分钟前
Java泛型详解
java·开发语言·后端
嘻嘻哈哈樱桃3 分钟前
牛客经典101题解题集--贪心算法+模拟
java·python·算法·贪心算法
yeeanna3 分钟前
GO函数的特殊性
开发语言·后端·golang
时空系13 分钟前
第6篇:数据容器——管理大量数据 Rust中文编程
开发语言·后端·rust
eLIN TECE20 分钟前
Go基础之环境搭建
开发语言·后端·golang
念何架构之路21 分钟前
Go反射应用技巧
开发语言·后端·golang
司南-704941 分钟前
Dense结构下的 大模型系统架构研究
服务器·人工智能·后端
GISer_Jing41 分钟前
AI全栈转型_TS后端学习路线
前端·人工智能·后端·学习
薪火铺子42 分钟前
Spring Security 6.x 实战指南
java·后端·spring