Skip to main content

在 Spaces 上使用 Dash

使用 Dash 开源版本,你可以在笔记本电脑上使用纯 Python 创建数据应用,无需 JavaScript。

通过使用开源版本构建示例应用来熟悉 Dash。当你的 Dash 应用准备好供部门或全公司使用时,可以使用 Dash Enterprise 进行扩展。或者,从一开始就启动 Dash Enterprise 计划,以解锁开发人员生产力提升和 Plotly 团队的实践加速。

在 Spaces 上部署 Dash

要在 Spaces 上开始使用 Dash,请点击下面的按钮:

这将使用 Plotly 的 Dash Docker 模板开始构建你的 Space。如果成功,你应该看到类似于 Dash 模板应用 的应用。

自定义你的 Dash 应用

如果你以前从未使用 Dash 构建过,我们建议从我们的 20 分钟 Dash 教程开始。

当你创建 Dash Space 时,你将获得一些关键文件以帮助你开始:

1. app.py

这是定义项目核心逻辑的主要应用文件。Dash 应用通常以模块形式构建,你可以选择将布局、回调和数据分离到其他文件中,如 layout.py 等。

app.py 中,你将看到:

  1. from dash import Dash, html 我们导入 Dash 对象来定义我们的应用,以及 html 库,它为我们提供了组装项目的构建块。

  2. app = Dash() 在这里,我们定义我们的应用。布局、服务器和回调都_绑定_到 app 对象。

  3. server = app.server 在这里,我们定义服务器变量,用于在生产环境中运行应用。

  4. app.layout = 启动应用布局定义为 Dash 组件列表、单个 Dash 组件或返回其中之一的函数。

    app.layout 是你的初始布局,将作为单页应用通过项目中的回调和其他逻辑进行更新。

  5. if __name__ == '__main__': app.run(debug=True) 如果你使用 python app.py 在本地运行项目,app.run(...) 将执行并启动开发服务器来处理你的项目,具有热重载、回调图等功能。

    在生产环境中,我们推荐使用 gunicorn,这是一个生产级服务器。使用 gunicorn 运行项目时不会启用调试功能,因此永远不会到达此行。

2. Dockerfile

Dash 应用的 Dockerfile 非常简单,因为 Dash 几乎没有系统依赖。关键要求是:

  • 它安装 requirements.txt 中列出的依赖(使用 uv
  • 它创建一个非 root 用户以确保安全
  • 它使用 gunicorn app:server --workers 4 运行应用

如果你的应用需要额外的系统依赖、权限或其他 CLI 标志,你可能需要修改此文件。

3. requirements.txt

Space 将自动安装 requirements.txt 文件中列出的依赖。至少,你必须在此文件中包含 dashgunicorn。你将需要添加应用所需的任何其他包。

Dash Space 模板提供了一个基本设置,你可以根据需要进行扩展。

其他资源和支持

故障排除

如果遇到问题:

  1. 确保你的 notebook 使用 python app.py 在本地以应用模式运行
  2. 检查所有必需的包是否都列在 requirements.txt
  3. 验证端口配置是否匹配(7860 是 Spaces 的默认值)
  4. 检查 Space 日志中的任何 Python 错误

如需更多帮助,请访问 Plotly 社区论坛提交问题