Tutorial: Externe Python-Dateien in HTML mit PyScript importieren
Hier ist ein ausführliches Tutorial, wie du externe Python-Dateien in dein HTML-Dokument mit PyScript einbindest.
PyScript ermöglicht es, Python-Code direkt im Browser auszuführen. Oft ist es jedoch sauberer, den Python-Code in separaten Dateien zu speichern, anstatt ihn direkt in das HTML-Dokument zu schreiben. In diesem Tutorial lernst du zwei Wege kennen, wie du das umsetzen kannst.
1. Vorbereitung: PyScript in HTML einbinden
Bevor du externe Dateien laden kannst, musst du das PyScript-Framework in den <head>-Bereich deiner HTML-Datei einfügen. Kopiere dazu folgende Zeilen:
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>PyScript Tutorial</title>
<!-- PyScript CSS & JS -->
<link rel="stylesheet" href="https://pyscript.net/releases/latest/core.css" />
<script type="module" src="https://pyscript.net/releases/latest/core.js"></script>
</head>
<body>
<!-- Hier kommt dein Inhalt hin -->
</body>
</html>
2. Methode A: Direkte Einbindung einer Datei (Einfach)
Wenn du nur eine einzige Python-Datei hast, die beim Laden der Seite ausgeführt werden soll, kannst du das Attribut src verwenden.
Schritt 1: Erstelle eine Python-Datei (hallo.py)
print("Hallo aus einer externen Datei!")
Schritt 2: Binde sie im HTML ein
Verwende das Tag <script type="py"> mit dem src-Attribut:
<body>
<h1>Mein PyScript Projekt</h1>
<script type="py" src="hallo.py" config='{"packages":[]}'></script>
</body>
3. Methode B: Importieren von Modulen (Fortgeschritten)
Wenn du Funktionen aus einer externen Python-Datei in einer anderen Python-Logik nutzen möchtest (ähnlich wie ein import in Python), musst du die Datei in der Konfiguration registrieren.
Schritt 1: Erstelle die Datei mit Funktionen (rechner.py)
def addiere(a, b):
return a + b
Schritt 2: Konfiguration und Import im HTML
Damit PyScript weiß, woher es die Datei laden soll, nutzen wir das <py-config> Tag oder ein Inline-JSON-Objekt. Hier sagen wir PyScript, dass es die Datei rechner.py "fetchen" (holen) soll.
<body>
<h1>Rechnen mit PyScript</h1>
<div id="ausgabe"></div>
<!-- Konfiguration: Datei registrieren -->
<script type="py" config='{"fetch": [{"files": ["rechner.py"]}]}'>
# Jetzt kannst du die externe Datei wie ein normales Modul importieren
from rechner import addiere
ergebnis = addiere(10, 5)
# Ausgabe im Browser anzeigen
from pyscript import display
display(f"Das Ergebnis ist: {ergebnis}", target="ausgabe")
</script>
</body>
4. Wichtige Hinweise
- Lokaler Server: PyScript kann externe Dateien aus Sicherheitsgründen oft nicht laden, wenn du die HTML-Datei einfach per Doppelklick im Browser öffnest (
file://Protokoll). Nutze einen lokalen Server (z. B. mit der VS Code Erweiterung "Live Server" oderpython -m http.serverim Terminal). - Dateipfade: Achte darauf, dass die Python-Dateien im selben Ordner wie deine HTML-Datei liegen oder die Pfadangaben in der Konfiguration korrekt angepasst sind.
- Groß-/Kleinschreibung: Python ist case-sensitive. Stelle sicher, dass die Dateinamen exakt mit den Import-Befehlen übereinstimmen.
Zusammenfassung
- Nutze
<script type="py" src="datei.py">für die direkte Ausführung. - Nutze den Bereich
fetchin der Konfiguration, um Dateien als Module importierbar zu machen.
Viel Erfolg bei deinem Projekt!