如果.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位于根目录下。
有人知道如何解决这个问题吗?