M1芯片Mac设备Safari无法访问Flask本地服务127.0.0.1:5000问题问询
M1 Mac运行Flask Hello World无法本地访问解决方案
1. 补全Flask启动代码
你当前的代码缺少服务启动入口,需要在代码末尾新增启动逻辑:
from flask import Flask app = Flask(__name__) @app.route("/") def hello_world(): return "<p>Hello, World!</p>" # 新增以下启动代码 if __name__ == '__main__': app.run(debug=True)
运行代码后查看终端输出,确认出现* Running on http://127.0.0.1:5000提示且无报错,说明服务启动正常。
2. 排查5000端口占用(M1 Mac高频问题)
M1系列Mac的系统自带AirPlay接收器默认占用5000端口,是本地访问失败的最常见原因:
- 终端执行命令
lsof -i :5000查看端口占用情况,如果存在其他进程占用5000端口,可选择两种解决方案:- 关闭AirPlay接收器:打开「系统设置-通用-隔空投送与接力」,关闭「AirPlay接收器」开关
- 修改Flask启动端口:修改启动代码指定其他未占用端口,示例如下:
启动后访问对应端口地址if __name__ == '__main__': # 指定端口为5001,可更换为其他未被占用的端口 app.run(debug=True, port=5001)http://127.0.0.1:5001即可。
3. 浏览器侧问题排查
- 检查Safari是否开启了全局代理,本地回环地址需要排除在代理规则之外,可临时关闭代理后重试
- 终端执行命令
curl http://127.0.0.1:5000测试服务可用性,如果返回<p>Hello, World!</p>内容说明服务正常,问题出在浏览器配置,可尝试清空浏览器缓存或者更换其他浏览器测试。
内容的提问来源于stack exchange,提问作者Soft
相关产品推荐
相关产品推荐

