Skip to content

Configuring "packages" to a local wheel causes dependency resolution failure #2282

@Archmonger

Description

@Archmonger

Checklist

  • I added a descriptive title
  • I searched for other issues and couldn't find a solution or duplication
  • I already searched in Google and didn't find any good information or help

What happened?

This issue appears to be an extension of #2228

In the following PyScript's inline packages config...

pyscript_config = {
   "packages": [
      "/reactpy/modules/reactpy-2.0.0a1-py3-none-any.whl"
   ],
}

return f"<py-script config='{pyscript_config}'> ... </py-script>"

... dependencies for local wheels will be installed only once during first page load. This is expected, but unfortunately all subsequent page loads completely fail to handle dependency resolution until the IndexDB is cleared.

On these subsequent page loads, I've confirmed via browser network history that pyodide.asm.js isn't attempting to fetch dependencies from PyPi. Based on console logs, it appears that pyscript/pyodide is aware the packages are installed, but there appears to be no attempt to load the dependencies.

Console info

ModuleNotFoundError: No module named 'typing_extensions'
The module 'typing-extensions' is included in the Pyodide distribution, but it is not installed.
You can install it by calling:
  await micropip.install("typing-extensions") in Python, or
  await pyodide.loadPackage("typing-extensions") in JavaScript

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions