Shinylive Grundlagen für Python - Spickzettel

Kurzanleitung für Serverless Shiny Apps mit Python

Wichtige Tipps, Befehle und bewährte Verfahren für die Erstellung, Bereitstellung und Fehlerbehebung von Shinylive Python-Anwendungen.

Tools
Autor:in
Zugehörigkeit
Veröffentlichungsdatum

22. März 2025

Schlüsselwörter

Shinylive Python, serverloses Shiny Python, Pyodide Shiny, Shiny Python

Shinylive Python-Installation und -Einsatz

Installation von PyPI

Installieren Sie die neueste stabile Version von Shinylive Python:

pip install shinylive

Installation von GitHub

So installieren Sie die Entwicklungsversion:

pip install git+https://github.com/posit-dev/py-shinylive.git

Exportieren und Bereitstellen Ihrer App

Exportieren Sie Ihre Shiny-App als statische Webseite:

shinylive export my_app_dir my_site_dir

Vorschau lokal:

python3 -m http.server --directory my_site_dir 8000

Zugriff bei: http://localhost:8000

Ausführliches Tutorial zur Installation & Bereitstellung



Erstellen einfacher Shinylive Python-Apps

Minimales Shinylive App-Beispiel

from shiny import App, ui, render

app_ui = ui.page_fluid(
    ui.input_slider("n", "N", 0, 100, 40),
    ui.output_text_verbatim("result")
)

def server(input, output, session):
    @output
    @render.text
    def result():
        return f"You selected {input.n()}"

app = App(app_ui, server)

Export und Vorschau

shinylive export my_app my_site
python3 -m http.server --directory my_site

Ausführliche Anleitung zur Erstellung einer einfachen Anwendung

Quarto Integrationstipps für Python Anwendungen

Installieren der Shinylive Quarto-Erweiterung

Vom Terminal aus in Ihrem Quarto Projekt:

quarto add quarto-ext/shinylive

YAML-Einrichtung für Shinylive

In Ihrem .qmd Dokument:

---
format: html
filters:
  - shinylive
---

Apps in Quarto einbetten

```{shinylive-python}
#| standalone: true
from shiny import App, render, ui

app_ui = ui.page_fluid(
    ui.input_slider("n", "Number", 0, 10, 5),
    ui.output_text("out")
)

def server(input, output, session):
    @output
    @render.text
    def out():
        return f"Square of {input.n()} is {input.n()**2}"

app = App(app_ui, server)
```

Ausführlicher Quarto Integrationsleitfaden

#| '!! shinylive warning !!': |
#|   shinylive does not work in self-contained HTML documents.
#|   Please set `embed-resources: false` in your metadata.
#| standalone: true
#| viewerHeight: 300
from shiny import App, render, ui

app_ui = ui.page_fluid(
    ui.input_slider("n", "Number", 0, 10, 5),
    ui.output_text("out")
)

def server(input, output, session):
    @output
    @render.text
    def out():
        return f"Square of {input.n()} is {input.n()**2}"

app = App(app_ui, server)

Fehlersuche bei häufigen Problemen

App wird nicht geladen

  • Sicherstellen, dass die Shinylive-Erweiterung und die Abhängigkeiten korrekt installiert sind.
  • Überprüfen Sie den Exportpfad und die statischen Assets.

Fehlendes Python-Paket

Wenn ein Paket fehlt:

import micropip
await micropip.install("pandas")

Browser-Kompatibilität

  • Verwenden Sie einen modernen Browser wie Chrome, Firefox oder Edge.
  • Prüfen Sie die Browser-Konsolenprotokolle (F12) auf detaillierte Fehlermeldungen.

Erweiterte Anleitung zur Fehlerbehebung

Weiterführende Literatur


Weitere Artikel erkunden

Hinweis

Hier finden Sie weitere Artikel aus derselben Kategorie, die Ihnen helfen, tiefer in das Thema einzutauchen.

placeholder

placeholder
Keine Treffer
Zurück nach oben

Wiederverwendung

Zitat

Mit BibTeX zitieren:
@online{kassambara2025,
  author = {Kassambara, Alboukadel},
  title = {Shinylive Grundlagen für Python - Spickzettel},
  date = {2025-03-22},
  url = {https://www.datanovia.com/de/learn/interactive/cheatsheets/shinylive-essentials-python.html},
  langid = {de}
}
Bitte zitieren Sie diese Arbeit als:
Kassambara, Alboukadel. 2025. “Shinylive Grundlagen für Python - Spickzettel.” March 22, 2025. https://www.datanovia.com/de/learn/interactive/cheatsheets/shinylive-essentials-python.html.