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)
相关推荐
uzong3 小时前
程序员从大厂回重庆工作一年
java·后端·面试
码事漫谈6 小时前
【精华】C++成员初始化列表完全指南:为什么、何时以及如何正确使用
后端
小糖学代码6 小时前
LLM系列:1.python入门:3.布尔型对象
linux·开发语言·python
码事漫谈6 小时前
C++ 强制类型转换:类型安全的多维工具
后端
Data_agent6 小时前
1688获得1688店铺详情API,python请求示例
开发语言·爬虫·python
周杰伦fans7 小时前
pycharm之gitignore设置
开发语言·python·pycharm
RainbowSea8 小时前
github 仓库主页美化定制
后端
RainbowSea8 小时前
从 Spring Boot 2.x 到 3.5.x + JDK21:一次完整的生产环境迁移实战
java·spring boot·后端
笨手笨脚の8 小时前
Spring Core常见错误及解决方案
java·后端·spring
weixin_462446238 小时前
【原创实践】python 获取节假日列表 并保存为excel
数据库·python·excel