Python Dash多页面应用突发ERR_EMPTY_RESPONSE错误求助
排查Dash页面加载失败(ERR_EMPTY_RESPONSE)问题
问题说明
- 运行近6个月的多页面Dash应用突然无法加载,浏览器提示:页面无法正常加载 127.0.0.1未发送任何数据。ERR_EMPTY_RESPONSE
- 应用核心代码:
import dash import dash_bootstrap_components as dbc from dash import Dash, dcc, html, dash_table app = Dash(__name__, use_pages = True) navbar = dbc.NavbarSimple( dbc.DropdownMenu( [ dbc.DropdownMenuItem(page["name"], href=page["path"]) for page in dash.page_registry.values() if page["module"] != "pages,not_found_404" ], nav = True, label = "More Pages" ), brand = "Metric Reporting", color = "primary", dark = True, ) app.layout = dbc.Container( [navbar,dash.page_container], fluid = True) if __name__ == '__main__': app.run_server(host = '127.0.0.1',port = '8050', debug = True)
排查方案
1. 检查端口占用情况
- Windows执行命令:
netstat -ano | findstr :8050 - Linux/macOS执行命令:
lsof -i :8050 - 若8050端口被其他进程占用,修改代码中的
port参数(比如改成8051)后重启应用。
2. 修复页面注册判断的语法错误
- 代码中判断404页面的条件写错了:
pages,not_found_404里的逗号应该是点号,正确写法是pages.not_found_404。这个错误可能导致页面注册逻辑异常,引发加载失败。 - 修正后的判断代码:
if page["module"] != "pages.not_found_404"
3. 排查依赖版本冲突
- 用
pip list查看dash、dash-bootstrap-components等依赖的当前版本,对比6个月前的稳定版本,是否有自动更新导致的兼容性问题。 - 尝试回退到旧版本,比如:
pip install dash==2.11.0 dash-bootstrap-components==1.4.0(替换为你之前使用的版本号)
4. 查看终端错误日志
- 启动应用后,仔细看终端输出的所有日志,有没有导入失败、页面注册报错等信息,这些细节能直接定位问题根源。
5. 简化代码逐步测试
- 暂时注释掉导航栏的下拉菜单部分,把布局简化成只保留
dash.page_container,测试是否能正常加载页面,以此排查是布局逻辑问题还是页面注册问题。
内容的提问来源于stack exchange,提问作者mhooper
相关产品推荐
相关产品推荐

