Skip to content

feature: Bumping Pyodide version or allow specifying pyodide version to use #66

@ahuang11

Description

@ahuang11

Is your feature request related to a problem? Please describe.

I want to install Panel with pyodide

import micropip

bk_whl = "https://cdn.holoviz.org/panel/1.5.4/dist/wheels/bokeh-3.6.1-py3-none-any.whl"
pn_whl = "https://cdn.holoviz.org/panel/1.5.4/dist/wheels/panel-1.5.4-py3-none-any.whl"
await micropip.install([bk_whl, pn_whl])

However, I encounter

PythonError: Traceback (most recent call last):
  File "/lib/python311.zip/_pyodide/_base.py", line 540, in eval_code_async
    await CodeRunner(
  File "/lib/python311.zip/_pyodide/_base.py", line 365, in run_async
    await coroutine
  File "", line 5, in 
  File "/lib/python3.11/site-packages/micropip/_micropip.py", line 576, in install
    await transaction.gather_requirements(requirements)
  File "/lib/python3.11/site-packages/micropip/_micropip.py", line 342, in gather_requirements
    await gather(*requirement_promises)
  File "/lib/python3.11/site-packages/micropip/_micropip.py", line 355, in add_requirement
    await self.add_wheel(wheel, extras=set())
  File "/lib/python3.11/site-packages/micropip/_micropip.py", line 472, in add_wheel
    await self.gather_requirements(wheel.requires(extras))
  File "/lib/python3.11/site-packages/micropip/_micropip.py", line 342, in gather_requirements
    await gather(*requirement_promises)
  File "/lib/python3.11/site-packages/micropip/_micropip.py", line 346, in add_requirement
    return await self.add_requirement_inner(req)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lib/python3.11/site-packages/micropip/_micropip.py", line 444, in add_requirement_inner
    wheel = find_wheel(metadata, req)
            ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lib/python3.11/site-packages/micropip/_micropip.py", line 312, in find_wheel
    raise ValueError(
ValueError: Can't find a pure Python 3 wheel for 'contourpy>=1.2'.
See: https://pyodide.org/en/stable/usage/faq.html#micropip-can-t-find-a-pure-python-wheel
You can use `micropip.install(..., keep_going=True)`to get a list of all packages with missing wheels.

Describe the solution you'd like

I believe it's a pyodide version mismatch because it works on https://pyodide.org/en/stable/console.html

Describe alternatives you've considered

Additional context

Panel has its own custom Pyodide implementation but would like to use mkdocs for panel-extensions https://panel.holoviz.org/tutorials/basic/size.html

image

Metadata

Metadata

Assignees

Labels

featureNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions