解决ModuleNotFoundError: No module named ‘flask._compat的问题

 更新时间:2024年06月01日 10:56:27   作者:T  
这篇文章主要介绍了解决ModuleNotFoundError: No module named ‘flask._compat的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

ModuleNotFoundError: No module named ‘flask._compat

使用flask_script管理flask启动

注意:

  • 最后两个错有解决没有略过至于报错顺序
  • 在解决完flask版本 Jinja2 有可能会报错 看自己的版本 最后一个Jinja2错误是复现出来的

代码:

from flask import Flask
import config
from flask_script import Manager

app=Flask(__name__)

#app.config.from_object(config.MyConfig)

manager = Manager(app)



if __name__ == '__main__':
    manager.run()

报错信息

Traceback (most recent call last):
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 843, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/Users/tly/opt/anaconda3/envs/FlaskProject/lib/python3.8/site-packages/flask_script/__init__.py", line 15, in <module>
    from flask._compat import text_type
ModuleNotFoundError: No module named 'flask._compat'

查看安装的包

pip  freeze  

发现安装的flask的版本过高没有 直接拉取的话就是最新版的


版本降低即可解决

pip3 install flask==1.1.4 

版本更新完

接着又报错

Traceback (most recent call last):
  File "test3.py", line 1, in <module>
    from flask import Flask
  File "/Users/tly/opt/anaconda3/envs/FlaskProject/lib/python3.8/site-packages/flask/__init__.py", line 14, in <module>
    from jinja2 import escape
  File "/Users/tly/opt/anaconda3/envs/FlaskProject/lib/python3.8/site-packages/jinja2/__init__.py", line 12, in <module>
    from .environment import Environment
  File "/Users/tly/opt/anaconda3/envs/FlaskProject/lib/python3.8/site-packages/jinja2/environment.py", line 25, in <module>
    from .defaults import BLOCK_END_STRING
  File "/Users/tly/opt/anaconda3/envs/FlaskProject/lib/python3.8/site-packages/jinja2/defaults.py", line 3, in <module>
    from .filters import FILTERS as DEFAULT_FILTERS  # noqa: F401
  File "/Users/tly/opt/anaconda3/envs/FlaskProject/lib/python3.8/site-packages/jinja2/filters.py", line 13, in <module>
    from markupsafe import soft_unicode
ImportError: cannot import name 'soft_unicode' from 'markupsafe' 

查看markupsafe版本发现是2.1.1

markupsafe版本降低

python -m pip install markupsafe==2.0.1

来继续报错

Traceback (most recent call last):
  File "test3.py", line 1, in <module>
    from flask import Flask
  File "/Users/tly/opt/anaconda3/envs/FlaskProject/lib/python3.8/site-packages/flask/__init__.py", line 14, in <module>
    from jinja2 import escape
ImportError: cannot import name 'escape' from 'jinja2' (/Users/tly/opt/anaconda3/envs/FlaskProject/lib/python3.8/site-packages/jinja2/__init__.py)

继续降版本

pip install Jinja2==3.0.0

到此为止输入命令python test3.py runserver项目启动起来

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python 字符串使用多个分隔符分割成列表的2种方法

    Python 字符串使用多个分隔符分割成列表的2种方法

    本文主要介绍了Python 字符串使用多个分隔符分割成列表,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • python中的load、loads实现反序列化示列

    python中的load、loads实现反序列化示列

    这篇文章主要介绍python中的load、loads实现反序列化,在python自动化中,我们传递一些参数是需要从文件中读取过来的,读取过来的字典并非python对象数据类型而是string类型,下面来看详情内容吧
    2021-10-10
  • Python3 pickle对象串行化代码实例解析

    Python3 pickle对象串行化代码实例解析

    这篇文章主要介绍了Python3 pickle对象串行化代码实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Python简单生成随机数的方法示例

    Python简单生成随机数的方法示例

    这篇文章主要介绍了Python简单生成随机数的方法,结合实例形式分析了Python基于random模块生成随机数的相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • 在PyCharm中实现关闭一个死循环程序的方法

    在PyCharm中实现关闭一个死循环程序的方法

    今天小编就为大家分享一篇在PyCharm中实现关闭一个死循环程序的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • Python实现清理重复文件功能的示例代码

    Python实现清理重复文件功能的示例代码

    在电脑上或多或少的存在一些重复文件,体积小的倒没什么,如果体积大的就很占内存了。本文用python制作了一个删除重复文件的小工具,核心代码很简单,希望对你有所帮助
    2022-07-07
  • python 根据字典的键值进行排序的方法

    python 根据字典的键值进行排序的方法

    这篇文章主要介绍了python 根据字典的键值进行排序的实现方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-07-07
  • TensorFlow2.0:张量的合并与分割实例

    TensorFlow2.0:张量的合并与分割实例

    今天小编就为大家分享一篇TensorFlow2.0:张量的合并与分割实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python使用pylab库实现画线功能的方法详解

    Python使用pylab库实现画线功能的方法详解

    这篇文章主要介绍了Python使用pylab库实现画线功能的方法,结合具体实例分析了Python使用pylab库的相关函数实现画线功能的操作技巧,并附带说明了相关函数与参数功能,需要的朋友可以参考下
    2017-06-06
  • python实现应用程序在右键菜单中添加打开方式功能

    python实现应用程序在右键菜单中添加打开方式功能

    这篇文章主要介绍了python实现应用程序在右键菜单中添加打开方式功能,本文分步骤给大家介绍的非常详细,具有参考借鉴价值,需要的朋友参考下吧
    2017-01-01

最新评论