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)
相关推荐
huanxiangcoco10 分钟前
207. 课程表
python·leetcode·广度优先
matrixlzp12 分钟前
Python Selenium 自动化爬虫 + Charles Proxy 抓包
爬虫·python·selenium·自动化
子午13 分钟前
水果识别系统Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
人工智能·python·深度学习
卑微的Coder16 分钟前
python画正方形、平行四边形、六边形、五角星、风车(四个半圆)
开发语言·python
bugtraq202117 分钟前
Fyne ( go跨平台GUI )中文文档-绘图和动画(三)
开发语言·后端·golang
一只会敲代码的小灰灰23 分钟前
python学习第十节:爬虫基于requests库的方法
爬虫·python·学习
Adolf_199328 分钟前
Flask-JWT-Extended登录验证
后端·python·flask
2402_857589361 小时前
基于Spring Boot的Java免税商品优选商城设计
java·spring boot·后端
William数据分析1 小时前
[Python]案例驱动最佳入门:Python数据可视化在气候研究中的应用
python·信息可视化·数据
唤醒手腕1 小时前
2024年最新 Python 大数据网络爬虫技术基础案例详细教程(更新中)
开发语言·爬虫·python