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
相关产品推荐
相关产品推荐

