diff --git a/src/lib/pyodide/pyodideSandboxHost.ts b/src/lib/pyodide/pyodideSandboxHost.ts index 2ba1ca2b27..b99ac0fc71 100644 --- a/src/lib/pyodide/pyodideSandboxHost.ts +++ b/src/lib/pyodide/pyodideSandboxHost.ts @@ -134,7 +134,7 @@ const sandboxScript = String.raw` let result = null; if (files && files.length > 0) upload(files); try { - if (code.includes('matplotlib')) await patchMatplotlib(); + if (code.includes('matplotlib') && 'matplotlib' in pyodide.loadedPackages) await patchMatplotlib(); result = clean(await pyodide.runPythonAsync(code)); } catch (error) { stderr = error && error.message ? error.message : String(error); diff --git a/src/lib/workers/pyodide.worker.ts b/src/lib/workers/pyodide.worker.ts index cdbd9006ec..4eb3ee7a31 100644 --- a/src/lib/workers/pyodide.worker.ts +++ b/src/lib/workers/pyodide.worker.ts @@ -191,7 +191,7 @@ async function executeCode( try { // check if matplotlib is imported in the code - if (code.includes('matplotlib')) { + if (code.includes('matplotlib') && 'matplotlib' in self.pyodide.loadedPackages) { // Override plt.show() to return base64 image await self.pyodide.runPythonAsync(`import base64 import os