Skip to content

Commit cd4ee13

Browse files
committed
Don't fail at upload time when module modifies sys.path
We try to execute all the top level imports but we don't execute changes to the path so we can get crashes.
1 parent 10eafbc commit cd4ee13

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/pyodide/internal/snapshot.ts

+7-2
Original file line numberDiff line numberDiff line change
@@ -262,8 +262,13 @@ function memorySnapshotDoImports(Module: Module): string[] {
262262
const deduplicatedModules = [...new Set(importedModules)];
263263

264264
// Import the modules list so they are included in the snapshot.
265-
if (deduplicatedModules.length > 0) {
266-
simpleRunPython(Module, 'import ' + deduplicatedModules.join(','));
265+
for (const mod of deduplicatedModules) {
266+
try {
267+
simpleRunPython(Module, `import ${mod}`);
268+
} catch (e) {
269+
continue;
270+
}
271+
simpleRunPython(Module, `delete ${mod.split(".", 1)[0]}`);
267272
}
268273

269274
return deduplicatedModules;

0 commit comments

Comments
 (0)