Python &引用;加载依赖项时出错“;在企业IE和Chrome中使用某些dcc元素时

Python &引用;加载依赖项时出错“;在企业IE和Chrome中使用某些dcc元素时,python,python-3.x,plotly,plotly-dash,Python,Python 3.x,Plotly,Plotly Dash,我在公司安装的InternetExplorer11和Chrome51中收到“错误加载依赖项”的错误消息,但在我自己安装的最新Chrome中没有。此外,如果我打开开发工具,Internet Explorer也可以正常工作 IE控制台提供以下错误消息 HTML1300: Navigation occurred. supplier This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x

我在公司安装的InternetExplorer11和Chrome51中收到“错误加载依赖项”的错误消息,但在我自己安装的最新Chrome中没有。此外,如果我打开开发工具,Internet Explorer也可以正常工作

IE控制台提供以下错误消息

HTML1300: Navigation occurred.
supplier
This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.

SCRIPT5009: 'Uint8ClampedArray' is undefined
plotly-1.35.2.min.js (7,1186569)

SCRIPT5009: 'Set' is undefined
bundle.js (21,23784)

Error: dash_core_components was not found.
   {
      [functions]: ,
      description: "dash_core_components was not found.",
      message: "dash_core_components was not found.",
      name: "Error",
      stack: "Error: dash_core_components was not found.
   at e.default.resolve (http://<url>:8080/supplier/_dash-component-suites/dash_renderer/bundle.js?v=0.11.3:9:28196)
   at s (http://<url>:8080/supplier/_dash-component-suites/dash_renderer/bundle.js?v=0.11.3:9:16176)
   at s (http://<url>:8080/supplier/_dash-component-suites/dash_renderer/bundle.js?v=0.11.3:9:15719)
   at value (http://<url>:8080/supplier/_dash-component-suites/dash_renderer/bundle.js?v=0.11.3:9:16980)
   at b._renderValidatedComponentWithoutOwnerOrContext (http://<url>:8080/supplier/_dash-component-suites/dash_renderer/react-dom@15.4.2.min.js?v=0.11.3:13:10739)
   at b._renderValidatedComponent (http://<url>:8080/supplier/_dash-component-suites/dash_renderer/react-dom@15.4.2.min.js?v=0.11.3:13:10870)
   at b.performInitialMount (http://<url>:"
   }

Unhandled promise rejection TypeError: Unable to get property 'find' of undefined or null reference
   "Unhandled promise rejection"
   {
      [functions]: ,
      description: "Unable to get property 'find' of undefined or null reference",
      message: "Unable to get property 'find' of undefined or null reference",
      name: "TypeError",
      number: -2146823281,
      stack: "TypeError: Unable to get property 'find' of undefined or null reference
   at l (http://<url>:8080/supplier/_dash-component-suites/dash_renderer/bundle.js?v=0.11.3:1:29665)
   at Anonymous function (http://<url>:8080/supplier/_dash-component-suites/dash_renderer/bundle.js?v=0.11.3:1:29458)
   at Anonymous function (http://<url>:8080/supplier/_dash-component-suites/dash_renderer/bundle.js?v=0.11.3:29:941)
   at f.dispatch (http://<url>:8080/supplier/_dash-component-suites/dash_renderer/bundle.js?v=0.11.3:29:1326)
   at Anonymous function (http://<url>:8080/supplier/_dash-component-suites/dash_renderer/bundle.js?v=0.11.3:1:30985)
   at u (http://<url>:8080/supplier/_dash-component-suites/dash_renderer/bundle.js?v=0.11.3:15:22048)
   at Anonymous function (http://<url>:8080/supplier/_dash-component-suites/"
   }
当我删除了
dcc.Graph
dcc.RangeSlider
时,应用程序运行良好。单独使用
dcc.Graph
dcc.RangeSlider
也会产生
“错误加载依赖项”
问题

我尝试了以下方法:

  • 'IE=edge'
    添加到烧瓶中的标题
  • 使用
    app_vndr.css.config.serve_locally=True
    app_vndr.scripts.config.serve_locally=True
    本地为脚本提供服务,并使用flask函数将
    /static/path:path/
    路由到正确的文件
  • 正在加载babel.js的polyfill。不过,Plotly似乎已经在做这件事了,因为我得到了一条
    消息,您只能有一个babel.js的实例

我应该看什么来解决这个问题?我觉得我错过了一些愚蠢的东西,但我不确定该检查或尝试什么。

在plotly论坛上与mod交谈后,以下步骤修复了问题:

  • 仪表板核心组件==0.21.0
    升级到
    仪表板核心组件==0.22.1
  • 提供有关图形的实际信息
如果没有为
图={…}
填充的字典,问题仍然存在

import dash
import dash_core_components as dcc
import dash_html_components as html
import plotly.graph_objs as go
import pandas as pd
from functools import partial
import datetime as dt

from SupplyChainReportingTool import server, session, blu, cache, CACHE_TIMEOUT
app_tst = dash.Dash(__name__, server=server, url_base_pathname='/ie_test/')
app_tst.css.config.serve_locally = True
app_tst.scripts.config.serve_locally = True

layout = go.Layout(
    yaxis=dict(title='Count',range=[0, 100],fixedrange=True,side='right',zeroline=False,showgrid=False),
    yaxis2=dict(title='percent',range=[0, 1],fixedrange=True,side='left',overlaying='y')
)
data = [go.Scatter(x=[],y=[],name='Data',mode='lines+markers')]

app_tst.layout = html.Div([
    dcc.Graph(
        id='graphtest',
        figure={'data': data, 'layout': layout}
    )
])
有了这个功能,我仍然需要回到
dash核心组件==0.21.0
,看看这是否真的是个问题

import dash
import dash_core_components as dcc
import dash_html_components as html
import plotly.graph_objs as go
import pandas as pd
from functools import partial
import datetime as dt

from SupplyChainReportingTool import server, session, blu, cache, CACHE_TIMEOUT
app_tst = dash.Dash(__name__, server=server, url_base_pathname='/ie_test/')
app_tst.css.config.serve_locally = True
app_tst.scripts.config.serve_locally = True

layout = go.Layout(
    yaxis=dict(title='Count',range=[0, 100],fixedrange=True,side='right',zeroline=False,showgrid=False),
    yaxis2=dict(title='percent',range=[0, 1],fixedrange=True,side='left',overlaying='y')
)
data = [go.Scatter(x=[],y=[],name='Data',mode='lines+markers')]

app_tst.layout = html.Div([
    dcc.Graph(
        id='graphtest',
        figure={'data': data, 'layout': layout}
    )
])