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

Flask端口定义位置及Windows系统下Flask-PWA端口冲突问题解决咨询

嘿,我来帮你搞定这两个Flask相关的问题,都是日常开发里很常见的场景,一起来看看解决方案吧!

1. Flask中定义端口的常见位置

其实有好几种方式可以设置Flask应用的运行端口,根据你的启动方式选就行:

  • 直接在代码里指定:找到你启动Flask应用的代码(一般是app.py或者run.py这类文件),修改app.run()方法,加上port参数,比如:
    if __name__ == '__main__':
        app.run(port=8080)  # 这里把端口改成你想要的数字
    
  • 用环境变量临时设置:在启动应用前,先在命令行里设置环境变量(Windows系统用命令提示符):
    set FLASK_RUN_PORT=8080
    
    然后再正常启动你的Flask应用(比如flask run或者python app.py)。
  • 启动命令加参数:如果是用flask run命令启动,直接在后面加--port参数:
    flask run --port 8080
    
  • 生产环境服务器指定:如果用Gunicorn这类生产服务器部署,启动命令里绑定端口就行:
    gunicorn -b 127.0.0.1:8080 app:app
    
2. 解决Windows下5000端口被旧Flask应用占用的问题

你遇到的这个情况,大概率是之前的旧Flask应用进程没彻底关掉,占用了5000端口。这里有几个解决办法:

方法一:释放被占用的5000端口

  1. 打开命令提示符,输入以下命令找到占用5000端口的进程ID(PID):
    netstat -ano | findstr :5000
    
    执行后会输出类似这样的内容:TCP 127.0.0.1:5000 0.0.0.0:0 LISTENING 1234,最后那个数字1234就是占用端口的进程PID。
  2. 接着输入命令强制结束这个进程:
    taskkill /F /PID 1234
    
    把1234换成你查到的实际PID,/F参数是强制终止进程的意思。

方法二:给新的Flask-PWA应用设置自定义端口

不想折腾端口释放的话,直接给新应用换个端口就行,和第一个问题里的方法一样,选一种适合你的:

  • 修改项目代码:找到项目里的启动文件,把app.run()改成app.run(port=5001)(5001换成任意没被占用的端口都可以)。
  • 启动前设置环境变量:进入项目目录后,先运行set FLASK_RUN_PORT=5001,再启动应用。
  • 启动命令加参数:用flask run --port 5001命令启动项目。

其他排查小技巧

  • 检查任务管理器:打开任务管理器,看看有没有python.exe或者pythonw.exe的进程,要是有之前旧应用的进程,直接结束掉就行。
  • 清空浏览器缓存:有时候浏览器会缓存旧页面,即使端口已经释放,可能还会显示旧内容,按Ctrl+Shift+Delete清空缓存后再刷新试试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 11:42:28