diff --git a/esm/interpreter/pyodide.js b/esm/interpreter/pyodide.js index 81311fc..d7faaf8 100644 --- a/esm/interpreter/pyodide.js +++ b/esm/interpreter/pyodide.js @@ -99,17 +99,19 @@ export default { // packages are uniquely stored as JSON key const key = stringify(packages); if (storage.has(key)) { - const blob = new Blob( - [storage.get(key)], - { type: 'application/json' }, - ); - // this should be used to bootstrap loadPyodide - options.lockFileURL = URL.createObjectURL(blob); - // versions are not currently understood by pyodide when - // a lockFileURL is used instead of micropip.install(packages) - // https://github.com/pyodide/pyodide/issues/5135#issuecomment-2441038644 - // https://github.com/pyscript/pyscript/issues/2245 - options.packages = packages.map(name => name.split(/[>=<]=/)[0]); + const value = storage.get(key); + if (save && !version.startsWith('0.27')) + options.lockFileContents = Promise.resolve(value); + else { + const blob = new Blob([value], { type: 'application/json' }); + // this should be used to bootstrap loadPyodide + options.lockFileURL = URL.createObjectURL(blob); + // versions are not currently understood by pyodide when + // a lockFileURL is used instead of micropip.install(packages) + // https://github.com/pyodide/pyodide/issues/5135#issuecomment-2441038644 + // https://github.com/pyscript/pyscript/issues/2245 + options.packages = packages.map(name => name.split(/[>=<]=/)[0]); + } packages = null; } }
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: