在 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 中,你将看到:
-
from dash import Dash, html我们导入Dash对象来定义我们的应用,以及html库,它为我们提供了组装项目的构建块。 -
app = Dash()在这里,我们定义我们的应用。布局、服务器和回调都_绑定_到app对象。 -
server = app.server在这里,我们定义服务器变量,用于在生产环境中运行应用。 -
app.layout =启动应用布局定义为 Dash 组件列表、单个 Dash 组件或返回其中之一的函数。app.layout是你的初始布局,将作为单页应用通过项目中的回调和其他逻辑进行更新。 -
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 文件中列出的依赖。至少,你必须在此文件中包含 dash 和 gunicorn。你将需要添加应用所需的任何其他包。
Dash Space 模板提供了一个基本设置,你可以根据需要进行扩展。
其他资源和支持
故障排除
如果遇到问题:
- 确保你的 notebook 使用
python app.py在本地以应用模式运行 - 检查所有必需的包是否都列在
requirements.txt中 - 验证端口配置是否匹配(7860 是 Spaces 的默认值)
- 检查 Space 日志中的任何 Python 错误
如需更多帮助,请访问 Plotly 社区论坛 或提交问题。