Dash调试模式不适用于.env文件

时间:2019-12-16 14:38:45

标签: python plotly-dash dotenv

如果.env文件位于与Dash脚本不同的位置,则我的Dash应用程序无法与debug=True一起使用。我的项目层次结构如下:

|-- src
|   |-- api.py
|   \-- __init__.py
|
|-- .env
\-- env/ # virtual env

api.py脚本只是Dash的基本设置。

import dash
import dash_core_components as dcc
import dash_html_components as html
import dash_bootstrap_components as dbc

navbar = dbc.NavbarSimple(
    brand="Title",
    brand_href="#",
    sticky="top",
)

body = dbc.Container(
    [
        dbc.Row(
            [
                dbc.Col(
                    [
                        html.P('Hello world!')
                    ],
                    md=12,
                ),
            ]
        )
    ],
    className="mt-4",
)

app = dash.Dash(__name__, external_stylesheets=[dbc.themes.BOOTSTRAP])
server = app.server

app.layout = html.Div([navbar, body])

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

当我从根目录运行python src/app/api.py时,该应用程序运行正常。如果我从src / app目录中运行python api.py,该应用程序将启动,但立即崩溃,并显示: can't open file '~/Users/martijnoele/dash/api.py'(在此跳过src / app文件夹)。如果我在api.py文件中删除debug = True,它将正常工作。卸载python-dotenv程序包可以很好地工作,但是当然我不能使用.env文件。

此外,当我将.env文件移到src / app目录中时,一切正常,但是我希望.env位于根目录下。

有人知道如何解决这个问题吗?

0 个答案:

没有答案