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

为什么在PyCharm中调试Dash应用时会抛出TypeError,如何解决?

PyCharm调试模式运行Dash应用触发TypeError无法命中断点

环境信息

  • Dash 2.0.0
  • Python 3.9.6
  • PyCharm社区版 2021.1.3
  • Windows 10

报错日志

Connected to pydev debugger (build 212.4746.96)
Traceback (most recent call last):
  File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2021.1.3\plugins\python-ce\helpers\pydev\pydevd.py", line 1483, in _exec
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 2021.1.3\plugins\python-ce\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "C:/redacted/dashboard/dashboard.py", line 170, in <module>
    _app = dash.Dash(__name__, external_stylesheets=[dbc.themes.DARKLY])
  File "C:\redacted\.venv\lib\site-packages\dash\dash.py", line 304, in __init__
    self.server = flask.Flask(name) if server else None
  File "C:\redacted\.venv\lib\site-packages\flask\app.py", line 406, in __init__
    instance_path = self.auto_find_instance_path()
  File "C:\redacted\.venv\lib\site-packages\flask\app.py", line 638, in auto_find_instance_path
    prefix, package_path = find_package(self.import_name)
  File "C:\redacted\.venv\lib\site-packages\flask\scaffold.py", line 850, in find_package
    package_path = _find_package_path(root_mod_name)
  File "C:\redacted\.venv\lib\site-packages\flask\scaffold.py", line 801, in _find_package_path
    return os.path.dirname(next(iter(spec.submodule_search_locations)))
TypeError: 'NoneType' object is not iterable
python-BaseException

Process finished with exit code 1

原运行配置截图

运行配置截图

修复方案

该错误由Dash依赖的Flask框架路径解析失败触发,核心原因是PyCharm调试配置的工作目录设置错误,导致Python无法正确识别当前项目的包结构,按以下步骤操作即可修复:

  • 打开当前脚本的调试配置页,将工作目录(Working directory)修改为你的Dash项目根目录,而非当前脚本所在的子文件夹。
  • 右键点击项目根目录,选择Mark Directory as > Sources Root,将根目录加入Python解析路径。
  • 如果修改配置后仍然报错,可以修改Dash实例初始化代码,显式传入Flask服务实例:
import flask
import dash
import dash_bootstrap_components as dbc

server = flask.Flask(__name__)
_app = dash.Dash(__name__, server=server, external_stylesheets=[dbc.themes.DARKLY])
  • 可选方案:2021.1版本PyCharm存在和Python 3.9的调试兼容问题,升级到2021.2及以上版本可直接解决该问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 15:06:10