使用新版flask-script時報錯No module named flask._compat和cannot import name ‘_request_ctx_stack‘ from ‘flask‘

Excel2016發表於2024-05-02

flask版本:3.0.3
Flask-Script:2.0.6

  1. Flask-script使用及錯誤No module named flask._compat

解決方法
windows下推薦解決方案, 點選 flask_script 進入 init.py檔案
或虛擬環境\Lib\site-packages\flask_script_init_.py
linux下cd到目錄/usr/local/lib/python3.12/site-packages/flask_script/,透過vim init.py修改
修改如下

# from flask._compat import text_type
from flask_script._compat import text_type
  1. ImportError: cannot import name ‘_request_ctx_stack‘ from ‘flask‘

解決方法
window下C:\Users\mengy\AppData\Local\Programs\Python\Python312\Lib\site-packages
linux下修改/usr/local/lib/python3.12/site-packages/
虛擬環境下為[你的虛擬環境]\Lib\site-packages\

  1. 修改flask_script\commands.py
    from flask import _request_ctx_stack 改為 from flask import request_ctx
  2. 修改flask_init_.py
    匯入 from .globals import _no_app_msg, request_ctx

相關文章