JuliaPlots / PlotlyJS.jl

Julia library for plotting with plotly.js
Other
413 stars 77 forks source link

Kaleido not available on windows 11 with julia 1.10 #479

Closed PetrKryslUCSD closed 4 months ago

PetrKryslUCSD commented 6 months ago
                                                  Julia 1.10 on windows 11.

┌ Warning: Kaleido is not available on this system. Julia will be unable to save images of any plots.
└ @ PlotlyJS C:\Users\pkonl\SublimeJulia_1_10_0\assets.julia-1.10.0-depot\packages\PlotlyJS\qhYQ5\src\kaleido.jl:65
┌ Warning: ErrorException("Could not start Kaleido process")
└ @ PlotlyJS C:\Users\pkonl\SublimeJulia_1_10_0\assets.julia-1.10.0-depot\packages\PlotlyJS\qhYQ5\src\kaleido.jl:66

montyvesselinov commented 6 months ago

I get the same error!

RoyiAvital commented 6 months ago

I have the same issue both on Windows 10 and Windows 11 with Julia 1.10.

I had no issue with Julia 1.9 on Windows 10 (Haven't checked on Windows 11).

jonathonprehn commented 6 months ago

Coming in to say that this is happening to me as well using Windows 11, Julia 1.9.2, as well as other versions of Julia. This occurred for both versions 0.18.10, 0.18.11 and 0.18.12 on my machine.

For me it is hanging on this line: https://github.com/JuliaPlots/PlotlyJS.jl/blob/02feab87e848ab89c51b40e47b036e916ec419fa/src/kaleido.jl#L55C17-L55C17

Printing the value of P.stdout for that line results in this, which indicates that it could be hanging because there are no bytes for it to read yet, at least on my machine: Pipe(Base.Libc.WindowsRawSocket(0xffffffffffffffff) closed => Base.Libc.WindowsRawSocket(0x0000000000000448) open, 0 bytes waiting)

When I run the command it is using outside of the enviroment, which is (I excluded the full artifact path)

kaleido.cmd plotly --disable-gpu --no-sandbox

I get this as output, so Kaleido is on my machine and works correctly as indicated by code == 0, but the output is not being retrieved correctly during initialization.

[0117/104934.901:WARNING:resource_bundle.cc(405)] locale_file_path.empty() for locale [0117/104934.963:WARNING:headless_browser_main_parts.cc(83)] Cannot create Pref Service with no user data dir. {"code": 0, "message": "Success", "result": null, "version": "0.2.1"} [0117/104935.136:ERROR:gpu_init.cc(430)] Passthrough is not supported, GL is swiftshader

Hope this provides useful info.

RoyiAvital commented 5 months ago

Any additional information could be supplied? It makes PlotLyJS.jl unusable with 1.10 on Windows.

@jd-foster , Were the issues mentioned in your post at https://discourse.julialang.org/t/105636/5 solved? It seems they still happen on 0.18.12.

dtxl commented 5 months ago

using Plots using PlotlyBase using PlotlyKaleido

and using plotly() as backend results in the first run

┌ Warning: backend PlotlyBase is not installed. └ @ Plots ~/.julia/packages/Plots/HyyIK/src/backends.jl:43 ┌ Warning: backend PlotlyKaleido is not installed. └ @ Plots ~/.julia/packages/Plots/HyyIK/src/backends.jl:43 ┌ Warning: _display is not defined for this backend. └ @ Plots ~/.julia/packages/Plots/HyyIK/src/output.jl:211

although it is installed, but works for further runs on Julia 1.10 and macOS.

disberd commented 4 months ago

This should be solved now. See the related comment in https://github.com/JuliaPlots/PlotlyJS.jl/issues/473#issuecomment-1979300463 for more details.