解決ModuleNotFoundError: No module named ‘flask._compat的問題
ModuleNotFoundError: No module named ‘flask._compat
使用flask_script管理flask啟動
注意:
- 最后兩個錯有解決沒有略過至于報錯順序
- 在解決完flask版本 Jinja2 有可能會報錯 看自己的版本 最后一個Jinja2錯誤是復(fù)現(xiàn)出來的
代碼:
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
發(fā)現(xiàn)安裝的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版本發(fā)現(xiàn)是2.1.1

markupsafe版本降低
python -m pip install markupsafe==2.0.1
來繼續(xù)報錯
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)
繼續(xù)降版本
pip install Jinja2==3.0.0

到此為止輸入命令python test3.py runserver項目啟動起來

總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
三步實現(xiàn)Django Paginator分頁的方法
這篇文章主要介紹了三步實現(xiàn)Django Paginator分頁的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-06-06
基于PyQt5實現(xiàn)SqlServer數(shù)據(jù)庫表導(dǎo)出Excel表格小工具
這篇文章主要為大家詳細介紹了PyQt5的應(yīng)用案例之實現(xiàn)SqlServer數(shù)據(jù)庫表導(dǎo)出Excel表格小工具,文中的示例代碼講解詳細,需要的小伙伴可以參考一下2023-12-12

