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

Plotly Dash运行报错:找不到dash_extensions.websockets模块

解决ModuleNotFoundError: No module named 'dash_extensions.websockets'问题

问题描述

运行Dash应用时触发报错:

from dash_extensions.websockets import run_server
ModuleNotFoundError: No module named 'dash_extensions.websockets'

背景信息

  • 6个月前(最后一次代码修改为3月30日)应用可正常运行
  • 近期未修改代码,仅更换Linux发行版为Ubuntu Cinnamon并重新安装miniconda后出现问题
  • conda环境中已安装dash_extensions,且包存在于site-packages目录
  • 尝试更换Python版本,问题未解决

环境依赖配置(environment.yml)

name: vital_dash
channels:
  - conda-forge
  - defaults
dependencies:
  - conda-build
  - python
  - pandas
  - autopep8
  - icecream
  - flask-socketio
  - gevent
  - gevent-websocket
  - websocket-client
  - dash
  - dash-core-components
  - dash-html-components
  - dash-bootstrap-components
  - dash-daq
  - pip
  - pip:
    - Flask-Sockets
    - dash-extensions
    - circular-buffer-numpy

解决方法

1. 锁定dash-extensions旧版本

dash-extensions的模块结构在后续版本中可能有变更,6个月前的代码适配的旧版本和当前pip默认安装的新版本不兼容。指定安装旧版本:

pip uninstall dash-extensions -y
pip install dash-extensions==0.1.7  # 可尝试0.1.x系列版本,或你之前使用的具体版本

2. 验证conda环境激活状态

确保运行应用时激活了正确的conda环境:

conda activate vital_dash
# 检查环境内的dash-extensions版本
pip list | grep dash-extensions

3. 确认Python解释器路径匹配

检查当前Python解释器的site-packages路径是否包含dash_extensions:

import sys
print(sys.path)

如果输出路径中没有对应conda环境的site-packages,说明你误用了系统Python或其他环境的解释器。

4. 重建conda环境

删除现有环境,重新从配置文件创建,避免环境损坏:

conda env remove -n vital_dash
conda env create -f environment.yml
conda activate vital_dash

5. 调整导入语句适配新版本

如果新版本dash-extensions已变更websockets模块的位置,可修改导入语句。例如最新版本中可能的导入方式:

from dash_extensions import run_server

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 20:30:31