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)
相关推荐
chushiyunen4 分钟前
python双下划线魔术方法(特殊方法)(双下划线方法)
python
二月夜6 分钟前
记SpringBoot升级Tomcat引发的两类典型问题及解决方案
spring boot·后端·tomcat
米码收割机7 分钟前
【AI】OpenClaw问题排查
开发语言·数据库·c++·python
神奇小汤圆8 分钟前
面试官:什么是 fail-fast?什么是 fail-safe?
后端
所谓伊人,在水一方3338 分钟前
【Python数据科学实战之路】第10章 | 机器学习基础:从理论到实践的完整入门
开发语言·人工智能·python·机器学习·matplotlib
王夏奇9 分钟前
Python-对excel文件操作-pandas库
python·excel·pandas
无风听海9 分钟前
Python之TypeVar深入解析
开发语言·python·typevar
独断万古他化10 分钟前
Python 接口测试之 requests 库核心用法
python·pytest·接口测试·requests
忘机山人11 分钟前
在 Kubernetes 上用 Fluent Bit 收集 Nginx 日志到 Easysearch
后端
E_ICEBLUE13 分钟前
Excel 删除空白行的 5 种方法 【手动管理与 Python 自动化】
python·自动化·excel