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

Dash 2.7.0在VS Code Notebook中用jupyter_mode参数报错求助

解决Dash 2.7.0在VS Code Notebook中使用jupyter_mode="external"的报错问题

问题原因

Dash 2.7.0版本并未引入jupyter_mode参数,该参数是在后续版本(如2.9.0及以上)才被整合到app.run()方法中的。你当前调用app.run(jupyter_mode="external")时,这个参数会被直接传递给Flask的run_simple()函数,而Flask并不识别该参数,因此触发TypeError。

解决方案

方案1:升级Dash到支持jupyter_mode的版本

直接升级Dash到最新稳定版,即可使用官方文档中提到的jupyter_mode参数:

pip install --upgrade dash

升级后无需修改其他代码,直接运行app.run(jupyter_mode="external")即可在VS Code Notebook中启动外部Dash应用。

方案2:不升级版本,改用JupyterDash运行

如果需要保留Dash 2.7.0版本,可使用旧版的JupyterDash方式适配Notebook环境:

  1. 导入JupyterDash类(替代原Dash类)
  2. 修改应用初始化代码
  3. 使用run_server()方法并指定mode="external"

修改后的核心代码片段如下:

# 替换原Dash导入为JupyterDash
from dash import JupyterDash, html, DiskcacheManager, Input, Output, callback
import dash_bootstrap_components as dbc

# ... 其他代码保持不变 ...

# 用JupyterDash初始化应用
app = JupyterDash(__name__, external_stylesheets=[dbc.themes.BOOTSTRAP],
           background_callback_manager=background_callback_manager)

# ... 布局和回调函数保持不变 ...

if __name__ == "__main__":
    # 用run_server指定external模式
    app.run_server(mode="external")

或者你也可以全局设置默认模式,避免每次调用都指定:

from dash import JupyterDash
JupyterDash.default_mode = "external"

# ... 应用初始化代码 ...

app.run_server()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 05:33:16