Hub documentation

Spaces 上的 Dash

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Spaces 上的 Dash

借助 Dash Open Source,您可以使用纯 Python 在笔记本电脑上创建数据应用,无需使用 JavaScript。

通过构建一个示例应用来熟悉 Dash,该应用基于开源构建。当您的 Dash 应用准备供部门或全公司使用时,可通过Dash Enterprise进行扩展。或者,从一开始就使用 Dash Enterprise 启动您的项目,以释放开发生产力的提升,并获得 Plotly 团队的实操加速支持。

在 Spaces 上部署 Dash

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

这将开始使用 Plotly 的 Dash Docker 模板构建您的 Space。如果成功,您应该会看到一个与 Dash 模板应用 类似的应用程序。

自定义您的 Dash 应用

如果您之前从未使用过 Dash 进行开发,我们建议您从我们的 Dash 20 分钟入门教程 开始。

创建 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 通过 gunicorn 运行该应用

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

3. requirements.txt

Space 会自动安装 requirements.txt 文件中列出的依赖项。至少,您必须在此文件中包含 dash 和 gunicorn。您还需要添加应用程序所需的其他任何软件包。

Dash Space 模板提供了一个基础配置,您可以根据需求对其进行扩展。

其他资源和支持

故障排除

如果您遇到问题:

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

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

Update on GitHub