You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask中.flaskenv设FLASK_ENV=development仍运行生产模式问题排查

Flask debug模式未开启及服务器警告问题排查方案

1. 确认依赖是否安装

Flask不会自动读取.flaskenv文件,必须安装python-dotenv包才能加载该文件的配置:

  • 检查是否已安装:执行 pip list | grep python-dotenv
  • 未安装则执行:pip install python-dotenv

2. 检查.flaskenv文件格式与位置

  • 确保文件里的配置没有多余空格或引号,正确格式应为:FLASK_ENV=development(不要写成FLASK_ENV="development"或FLASK_ENV = development)
  • 确认文件放在项目根目录,和你的Flask入口脚本(比如app.py)在同一层级

3. 检查启动方式

  • 若用flask run启动:必须在项目根目录执行该命令,Flask才会自动加载.flaskenv
  • 若用python app.py启动:需要在代码中手动加载环境变量,甚至强制开启debug:
    from dotenv import load_dotenv
    import os
    from flask import Flask
    
    # 加载.flaskenv中的配置
    load_dotenv()
    
    app = Flask(__name__)
    
    # 手动确认并开启debug
    if os.getenv('FLASK_ENV') == 'development':
        app.debug = True
    
    if __name__ == '__main__':
        app.run()
    
    注:Flask 2.0+版本中,FLASK_ENV=development本应自动开启debug,但手动启动脚本时可能需要显式设置

4. 排查环境变量覆盖问题

系统环境变量优先级高于.flaskenv中的配置,检查当前环境变量:

  • Linux/macOS终端执行:echo $FLASK_ENV
  • Windows命令行执行:echo %FLASK_ENV%
    如果输出不是development,说明系统环境变量覆盖了配置,先清除该变量再重新启动

关于生产服务器警告

这个警告是正常提示,Flask自带的开发服务器无论是否在development模式下,都会弹出该提示,仅用于提醒你不要在生产环境使用它,只要debug模式成功开启,无需理会这个警告

内容的提问来源于stack exchange,提问作者Jandos Dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 11:29:56