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

Flask服务器绑定IP固定为127.0.0.1问题求助

Flask代码中修改host/port无效的原因及解决办法

核心原因

你遇到的问题本质是启动方式不同导致配置优先级不同:

  • 当你用终端命令flask run -h 0.0.0.0启动时,是通过Flask的CLI(命令行工具)启动服务器,这时候会忽略代码里if __name__ == '__main__'块中的app.run()配置。
  • 代码里的app.run()只有在直接运行该Python文件时才会生效(比如执行python your_app.py),如果是通过flask run启动,这个代码块根本不会被执行。

另外也可能存在一种情况:你的Python文件被当作模块导入到其他文件中启动,此时__name__的值不是'__main__',导致app.run()代码块没有触发。

解决办法

方法1:直接运行Python文件生效代码配置

如果想让代码里的app.run(debug=True, host="192.168.1.222", port=5000)生效,直接在终端执行:

python your_app.py

(把your_app.py替换成你的实际文件名)

方法2:用flask run命令时指定配置

如果习惯用flask run启动,直接在命令行添加参数即可:

flask run -h 192.168.1.222 -p 5000 --debug

或者通过环境变量预先设置:

# Linux/macOS
export FLASK_RUN_HOST=192.168.1.222
export FLASK_RUN_PORT=5000
export FLASK_DEBUG=1
flask run

# Windows(PowerShell)
$env:FLASK_RUN_HOST="192.168.1.222"
$env:FLASK_RUN_PORT=5000
$env:FLASK_DEBUG=1
flask run

方法3:确保__name__条件触发

如果你的app是在一个模块中定义,然后通过其他文件启动,需要把app.run()移到启动代码中,或者确保直接运行定义app的文件,让if __name__ == '__main__'条件成立。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 00:26:03