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)
相关推荐
短剑重铸之日几秒前
《7天学会Redis》Day 1 - Redis核心架构与线程模型
java·redis·后端·架构·i/o多路复用·7天学会redis
努力的小郑1 分钟前
Spring 的西西弗斯之石:理解 BeanFactory、FactoryBean 与 ObjectFactory
后端·spring·面试
华仔啊2 分钟前
Java 异步调用失败导致系统崩溃?这份重试机制救了我
java·后端
SimonKing2 分钟前
基于Netty的WebSocket服务端
java·后端·程序员
Ashley_Amanda3 分钟前
Python 常见问题梳理
开发语言·windows·python
UpgradeLink6 分钟前
基于 Go 打造的升级链路管理平台:upgradelink 让设备升级更简单
开发语言·后端·golang
比奇堡的猪猪6 分钟前
修改默认conda环境(在win中)
python·conda
萧鼎17 分钟前
深入解析 Python 的 Word 模板引擎:docxtpl 全面指南
开发语言·python·word
Yeats_Liao24 分钟前
昇腾910B与DeepSeek:国产算力与开源模型的架构适配分析
人工智能·python·深度学习·神经网络·机器学习·架构·开源
智航GIS27 分钟前
11.3 Pandas 模块功能概览
python·信息可视化·pandas