Use runpy in web template

This commit is contained in:
Feodor Fitsner 2024-01-15 10:32:12 -08:00
parent c89dc8844e
commit 3526cca85b
1 changed files with 5 additions and 2 deletions

View File

@ -9,13 +9,16 @@ self.initPyodide = async function () {
self.pyodide.registerJsModule("flet_js", flet_js); self.pyodide.registerJsModule("flet_js", flet_js);
flet_js.documentUrl = documentUrl; flet_js.documentUrl = documentUrl;
await self.pyodide.runPythonAsync(` await self.pyodide.runPythonAsync(`
import sys import sys, runpy, traceback
from pyodide.http import pyfetch from pyodide.http import pyfetch
response = await pyfetch("assets/app/app.zip") response = await pyfetch("assets/app/app.zip")
await response.unpack_archive() await response.unpack_archive()
sys.path.append("__pypackages__") sys.path.append("__pypackages__")
try:
runpy.run_module("${self.pythonModuleName}", run_name="__main__")
except Exception as e:
traceback.print_exception(e)
`); `);
pyodide.pyimport(self.pythonModuleName);
await self.flet_js.start_connection(self.receiveCallback); await self.flet_js.start_connection(self.receiveCallback);
self.postMessage("initialized"); self.postMessage("initialized");
}; };