python Dash()在WSGI上运行时获得意外的关键字参数“use_pages

exdqitrt  于 2023-02-15  发布在  Python
关注(0)|答案(1)|浏览(173)

我有一个破折号应用程序建立在几个网页上的一个例子,从文档-https://dash.plotly.com/urls和它的工作本地,但由于某种原因在主机-python.无处不在,它不工作。,当我开始,我遇到错误破折号()得到了一个意外的关键字参数'use_pages'在我添加几个页面之前,一切正常。告诉我哪里做错了,原因是什么。
error

www.example.comApp.py

这只是示例I中的代码,只添加了server = app.server

from dash import Dash, html, dcc
import dash

app = Dash(__name__, use_pages=True)
server = app.server

app.layout = html.Div([
    html.H1('Multi-page app with Dash Pages'),

    html.Div(
        [
            html.Div(
                dcc.Link(
                    f"{page['name']} - {page['path']}", href=page["relative_path"]
                )
            )
            for page in dash.page_registry.values()
        ]
    ),

    dash.page_container
])

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

WSGI

import sys

# add your project directory to the sys.path
project_home = '/home/Andreson/mysite'
if project_home not in sys.path:
    sys.path = [project_home] + sys.path

# import flask app but need to call it "application" for WSGI to work
import dash_bootstrap_components as dbc
import plotly.express as px
from dash_bootstrap_templates import load_figure_template
from app import app
application = app.server

我试着在没有use_pages = True的情况下运行这个应用程序--一切正常,我试着使用一个破折号(name,server = server,use_pages = True),当然我在整个互联网上搜索了一个答案。但是因为没有答案,我想这是一些人们不会问的小事,所以我提前为一个可能愚蠢的问题道歉。

t2a7ltrp

t2a7ltrp1#

当我尝试在pythonanywhere上托管一个 Jmeter 板时,我遇到了同样的问题,但我设法解决了它。既然你已经找到了解决方案,我就把我的发现贴在这里以供将来参考。
我认为错误发生的原因是因为pythonanywhere使用的默认版本的Flask包含了一个旧版本的dash。幸运的是,pythonanywhere允许你创建自己的虚拟环境来安装软件包。这是一个解决方案,因为在创建了自己的虚拟环境并安装了必要的软件包后,dash应用程序按预期运行。

相关问题