我正在尝试部署我的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.py和pages文件夹在同一目录下
我尝试过以下方法来获取文件夹路径:
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 一起工作吗?
谢谢您的帮助!
-雷克森