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

如图:

                  

flask连接redis 出现 No module named

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

                     

flask连接redis 出现 No module named

再进入到flaskcache中进行编辑

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

进行替换即可,如图:

                   

flask连接redis 出现 No module named

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

如图:这个里面找就行

                                                               

flask连接redis 出现 No module named

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