Python Dash TypeError:无法将“NoneType”对象转换为字节

时间:2021-02-04 21:30:14

标签: python dashboard plotly-dash

我正在尝试使用 Dash 构建仪表板。当我转到默认网站 http://127.0.0.1:8050/ 时,我不断收到此错误,并收到 TypeError: cannot convert 'NoneType' object。检查图像是否有错误。我的代码没有任何错误,我之前能够运行它,仪表板也能完美运行。有人可以帮帮我吗?代码如下:

import dash  # (version 1.12.0) pip install dash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output
import datetime
from datetime import date


app = dash.Dash(__name__)

# App layout
app.layout = html.Div([

    html.H1("Snodas SWE/SD For January", style={'text-align': 'center'}),

    
    dcc.DatePickerSingle(
        id='my-date-picker-single',
        min_date_allowed=date(2020, 1, 1),
        max_date_allowed=date(2020, 12, 30),
        initial_visible_month=date(2020, 1, 1),
        date=date(2020, 1, 1)
    ),
    
    html.Div(id='output-container-date-picker-single'),
    
    dcc.Checklist(
    options=[
        {'label': 'SWE', 'value': 'SWE'},
        {'label': 'SD', 'value': 'SD'}
    ],
    labelStyle={'display': 'inline-block'}
    ),

    html.Iframe(id='map', srcDoc=open('map1.html', 'r').read(), width='100%', height='1000')

])

@app.callback(
    Output('map', 'srcDoc'),
    Input('my-date-picker-single', 'date'))
def update_output(date):
    return open('map_swe_sd_{}.html'.format(str(date)), 'r').read()

if __name__ == "__main__":
   app.run_server(debug = True)

Error Message

2 个答案:

答案 0 :(得分:0)

试试这个:

@app.callback(
    Output('map', 'srcDoc'),
    Input('my-date-picker-single', 'date'))
def update_output(date):
    if not date:
        raise dash.exceptions.PreventUpdate
    return open('map_swe_sd_{}.html'.format(str(date)), 'r').read()

答案 1 :(得分:0)

我对这一切都不熟悉,所以我希望我能按照常规规则正确地做到这一点:

当我只是尝试在 dash 网站上做 dash 教程时,我遇到了同样的问题。

我安装的 dash 或我的 python 环境有问题(我知道“有问题并不是真正识别问题)。这似乎与您的情况类似,因为回溯指向包,对吗?在创建并激活一个新的 python 环境并在那里安装 dash 后,一切正常。

我希望这也能帮到你。