flask连接redis 出现 No module named 'flask.ext' 或No module named 'ext.cache'

1. 问题来源:

自己在写代码过程中使用了redis,但是引入后发现报错

No module named 'flask.ext

环境:

  • ubuntn和centos
  •  python3.6
  • flask
  • flask-cache

2. 引入flask_cache后运行时,出现以下错误

from flask.ext.cache import make_template_fragment_key
ModuleNotFoundError: No module named 'flask.ext'
unable to load app 0 (mountpoint='') (callable not found or import error)

3. 原因是新版本的引入已经不是flask.ext.*

      由于我使用的是anaconda,根据报错,因此需要进入到虚拟环境中进行修改源码,将自己虚拟环境下的

/site-packages/flask_cache/jinja2ext.py中将

from flask.ext.cache import make_template_fragment_key修改为from flask_cache import make_template_fragment_key

4. conda修改过程

使用命令,查看自己使用的虚拟环境的位置

查看自己使用的虚拟环境
$ conda env list

如图:

                  

因此进入到该目录下,如图:

                     

再进入到flaskcache中进行编辑

$ cd /lib/python3.7/site-packages/flask_cache
$ vi jinja2ext.py

进行替换即可,如图:

                   

5. 如果有编译器,戳进去或者再扩展包中查看更方便

如图:这个里面找就行

                                                               

总结:其实很大的问题就是版本问题,其实一开始我也很懵逼,啥嘛~!!!问题解决,吃饭了

 

发布了103 篇原创文章 · 获赞 55 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/l8947943/article/details/102798239