-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Cannot micropip.install("bokeh>=3.4.0")
#13817
Comments
@philippjfr any thoughts / comments? |
The problem here is that Pyodide versions ship with patched versions of Bokeh and for each version of Pyodide only a single patched version of bokeh is shipped. This means that you always have to match your Bokeh version and Pyodide version, in the case of Marimo I'm assuming they're using pyodide<0.25 which ships with an older version of Bokeh. You have two options here:
On our side we should consider if Bokeh could consider providing a wheel that doesn't depend on tornado and contourpy which aren't available in pyodide. |
Oh I guess @ianthomas23 didn't update the bokeh version in pyodide until last week, which means there's currently no version of pyodide that supports bokeh 3.4.0 out of the box. |
ContourPy is available in pyodide, as I have said before. |
Ah, that's great news, thanks! |
I think it's fine to start releasing a tornado-less bokeh, we just have to decide what to call ("bokeh-minimal"?) it and figure out how to support specifying two package configurations. |
Thanks for the discussion! Maybe it is simplest to add the following to your [project.optional-dependencies]
server = ["tornado>=6.2", ] # ...
# OR
tornado = ["tornado>=6.2"] Then, I believe How does that sound? Sorry if it's no good, I'm a bokeh / packaging novice. |
AFAIK conda does not support optional dependencies, and I am personally 👎 for any solution that puts pip / conda options on different footing. I'd rather just have a separate package entirely that can specify the same set of reduced dependencies in both cases. Also, I would not want "without server" to become the default. |
Expected behavior
I would like to be able to install
bokeh
in WebAssembly environments (e.g. using marimo).Also relevant to: hvplot/holoviews (cc: @philippjfr) and marimo (cc: @akshayka)
as my goal is to use
hvplot
in (web-only)marimo
:await micropip.install("hvplot")
fails for this underlying reasonObserved behavior
The following code fails
with the following error:
ValueError: Can't find a pure Python 3 wheel for 'tornado>=6.2'.
However, this is actually successful:
(and it does not install
tornado
, even thoughtornado>=5.1
is a dependency ofbokeh==3.2.2
andawait micropip.install("tornado>=5.1")
also fails)Is it possible to fix
bokeh>3.2.2
so that we can install it (withouttornado
) in WebAssembly environments withmicropip
?Thank you!
Example code
Marimo Web Notebook
The text was updated successfully, but these errors were encountered: