运行仪表板
概述
有多种方式可以运行 Shiny for Python 交互式文档:
- 在 VS Code 中使用 Quarto: Preview 命令。
- 使用
quarto preview
命令行界面与任何编辑器。 - 将它们部署到服务器以供更广泛的受众使用。
我们将在本文中深入探讨所有这些场景。
为了在 Quarto 文档中使用 Shiny,你需要最新版本的 shiny
(>=0.9.0) 和 shinywidgets
(>=0.3.1) 包。你可以通过以下命令安装这些包的最新版本:
pip install --upgrade shiny shinywidgets
VS Code
Quarto VS Code 扩展 提供了预览 Shiny 交互式文档的集成支持(就像您通常对静态文档所做的那样,使用 Quarto: Preview 命令):
请注意,您需要最新版本的 VS Code 扩展(v1.105.0 或更高版本)才能预览 Shiny 交互式文档。
命令行
如果您使用的是其他笔记本或文本编辑器,您也可以通过 quarto preview
从命令行预览 Shiny 交互式文档。这对于笔记本(.ipynb
)和纯文本 Markdown(.qmd
)同样适用。例如:
终端
quarto preview example.ipynb
quarto preview example.qmd
preview
命令有许多选项可以控制文档服务器的端口和主机,以及是否自动为正在运行的文档打开浏览器。您可以通过 quarto preview help
了解更多关于这些选项的信息。
如果您想在不使用 quarto preview
功能(即当文档更改时自动重新渲染)的情况下提供您的文档,可以使用 quarto serve
命令:
终端
quarto serve example.qmd
部署
Shiny交互式文档是使用quarto render
创建的普通Shiny应用程序。事实上,你根本不需要Quarto来提供交互式文档,相反,你可以直接使用shiny run
运行由quarto render
生成的应用程序:
Terminal
quarto render example.qmd
shiny run app.py
你部署的应用程序将包含由quarto render
生成的HTML文档和app.py
脚本:
example.html
example_files/
app.py
有关在各种环境中部署Shiny应用程序的信息,请参阅以下文档:
目标 | 描述 |
---|---|
shinyapps.io | 云托管服务 |
Hugging Face | 云托管服务 |
Shiny Server | 开源应用程序服务器 |
Posit Connect | 商业发布平台 |
其他服务 | 自定义服务器/托管环境 |
你还可以在无服务器配置中部署交互式Shiny文档(其中Python通过Pyodide在浏览器中运行)。退休模拟是一个展示此工作流程的示例。
调试
您可以通过调试生成的 .py
应用程序文件(例如 hello-app.py
)来运行 Shiny 文档的交互式调试会话。使用编辑器右上角的 Debug Shiny App 菜单命令启动调试会话:
您正在调试的文件(例如 hello-app.py
)是从您的交互式文档生成的。因此,您不应直接编辑此文件(因为它会在下一次渲染时被覆盖),而应编辑生成它的源文档(例如 hello.qmd
)。
了解更多
要了解更多关于 Shiny for Python 交互式文档的信息,请参阅以下文章:
入门指南 解释了 Shiny 交互式文档的基础知识。
组件浏览器 列出了可用的 Shiny 输入和输出,并提供了您可以复制并粘贴到仪表板中的代码片段。
输入布局 描述了各种布局 Shiny 输入的方式(侧边栏、输入面板、将输入直接附加到卡片等)。
执行上下文 深入探讨了不同代码单元运行的时机(例如渲染与服务)。
Shiny for Python 提供了所有可用 UI 和输出小部件的深入文档,以及关于事物工作原理的概念性讨论。