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

Dash实时绘图遇numpy循环导入AttributeError问题求助

解决Dash实时图表应用的numpy循环导入AttributeError问题

问题现象

稳定运行数月的Dash实时图表应用突然报错,错误信息:

2023-02-16T13:06:06: AttributeError: partially initialized module 'numpy' has no attribute 'ndarray' (most likely due to a circular import)

报错指向go.Scatter( mode = 'lines',line = dict(dash = 'longdash'),x=xData,代码行(go为plotly.graph_objs),页面显示空白无图表。代码未显式导入numpy,但plotly依赖numpy,已尝试刷新代码、重启VMNode,无效。

排查与解决步骤

1. 修复numpy安装异常

  • 先查看当前numpy版本:
    pip show numpy
    
  • 卸载现有numpy后重新安装稳定版本(优先选择之前应用正常运行时的版本):
    pip uninstall -y numpy
    pip install numpy==1.24.3  # 替换为验证过的兼容版本
    

2. 校验plotly与numpy的兼容性

plotly对numpy存在版本依赖,需确认二者版本匹配:

  • 查看当前plotly版本:
    pip show plotly
    
  • 若版本不兼容,调整plotly版本到对应兼容版:
    pip install plotly==5.15.0  # 选择与numpy版本适配的稳定版
    

3. 排查项目内重名文件冲突

项目目录中如果存在numpy.py这类重名文件,会覆盖系统numpy模块,引发循环导入:

  • 搜索项目目录:
    find . -name "numpy.py" -type f
    
  • 若找到该文件,立即重命名或删除,避免模块命名冲突。

4. 清理Python缓存文件

Python的__pycache__缓存可能导致模块加载异常:

  • 删除项目内所有缓存文件夹:
    find . -name "__pycache__" -type d -exec rm -rf {} +
    
  • 可选:清理pip缓存
    python -m pip cache purge
    

5. 验证xData的数据合法性

报错指向x=xData参数,需确认数据类型是否符合plotly要求:

  • 在代码中添加调试代码,检查xData的类型与内容:
    print(type(xData), xData[:5])  # 打印前5条数据及类型
    
  • 若xData为非标准序列,转换为numpy数组或Python列表:
    import numpy as np
    xData = np.array(xData)  # 显式转换为numpy数组
    # 或
    xData = list(xData)  # 转换为Python列表
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 00:25:59