小编Rex*_*xon的帖子

使用 Gunicorn 在 GCP 上部署时,Dash 应用程序无法找到页面文件夹

我正在尝试部署我的dash应用程序,该应用程序使用dash_extensions、Dash_proxy,并且在使用gunicorn运行的GCP云上的页面文件夹中具有多个页面,但该应用程序找不到页面文件夹。当我使用开发服务器时它工作得很好,但在生产服务器中由于找不到文件夹路径而中断。

该应用程序(以下代码位于app.py文件内):

app = DashProxy(use_pages=True, pages_folder=pages_folder, external_stylesheets=[dbc.themes.SIMPLEX])
Run Code Online (Sandbox Code Playgroud)

文件app.pypages文件夹在同一目录下

我尝试过以下方法来获取文件夹路径:

pages_folder="pages"
Run Code Online (Sandbox Code Playgroud)
pages_folder=os.path.join(os.path.dirname(__file__), "pages")
Run Code Online (Sandbox Code Playgroud)
for p in Path('.').rglob('*'):
    if str(p).endswith('pages'):
        pages_folder = str(p)
        break
Run Code Online (Sandbox Code Playgroud)

当通过 docker 使用gunicorn 在 gcp 上部署时,以上三个都不起作用:

Dockerfile 命令:

CMD ["gunicorn"  , "-b", "0.0.0.0:8000", "app:server"]
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但是,如果我通过 docker 使用开发服务器,如下代码所示,它可以工作:

CMD python app.py
Run Code Online (Sandbox Code Playgroud)

有谁知道如何让它与gunicorn 一起工作吗?

谢谢您的帮助!

-雷克森

python gunicorn dockerfile plotly-dash google-cloud-run

5
推荐指数
1
解决办法
897
查看次数