fonsp / Pluto.jl

🎈 Simple reactive notebooks for Julia
https://plutojl.org/
MIT License
4.91k stars 284 forks source link

Failure to load Plots.jl Plotly backend #2853

Closed adrhill closed 3 months ago

adrhill commented 3 months ago

While updating existing Pluto notebooks to Julia 1.10.2 (https://github.com/adrhill/julia-ml-course/pull/10) using Pluto v0.19.40, we ran into the issue of Plots.jl's Plotly backend not loading dependencies correctly:

image

However, this warning is a false one, as rerunning the cell fixes all issues:

https://github.com/fonsp/Pluto.jl/assets/20258504/a6553a13-1b21-4c12-bbe9-8e4e872f281e

It would be nice to have a fix for this, as this error message would most likely confuse students.

adrhill commented 3 months ago

It might be worth noting that this issue reoccurs every time the notebooks is reopened.

fonsp commented 3 months ago

Do you not get this issue in a REPL with a clean environment? That means:

julia> import Pkg

julia> Pkg.activate(temp=true)

julia> copy!(LOAD_PATH, ["@", "@stdlib"]); # to disable environment stacking

julia> now do your thing
adrhill commented 3 months ago

You're right, this looks like a Plots.jl issue:

❯ julia --startup-file=no --quiet
julia> import Pkg

julia> Pkg.activate(temp=true)
  Activating new project at `/var/folders/lx/07x6z_b908gd4wd3v_wf2b4c0000gn/T/jl_4zR9Cg`

julia> copy!(LOAD_PATH, ["@", "@stdlib"]);

(jl_4zR9Cg) pkg> add Plots
   Resolving package versions...
   Installed LERC_jll ───────────────────── v3.0.0+1
   Installed Opus_jll ───────────────────── v1.3.2+0
   Installed x265_jll ───────────────────── v3.5.0+0
   Installed GR_jll ─────────────────────── v0.73.3+0
   Installed JpegTurbo_jll ──────────────── v3.0.2+0
   Installed libfdk_aac_jll ─────────────── v2.0.2+0
   Installed Libmount_jll ───────────────── v2.39.3+0
   Installed Xorg_xkbcomp_jll ───────────── v1.4.6+0
   Installed RelocatableFolders ─────────── v1.0.1
   Installed Unitful ────────────────────── v1.19.0
   Installed Grisu ──────────────────────── v1.0.2
   Installed Measures ───────────────────── v0.3.2
   Installed Xorg_xcb_util_image_jll ────── v0.4.0+1
   Installed Xorg_xcb_util_wm_jll ───────── v0.4.1+1
   Installed PlotUtils ──────────────────── v1.4.1
   Installed Contour ────────────────────── v0.6.2
   Installed Xorg_libpthread_stubs_jll ──── v0.1.1+0
   Installed RecipesPipeline ────────────── v0.6.12
   Installed Xorg_libSM_jll ─────────────── v1.2.3+0
   Installed Cairo_jll ──────────────────── v1.18.0+1
   Installed Xorg_xcb_util_jll ──────────── v0.4.0+1
   Installed HTTP ───────────────────────── v1.10.5
   Installed Fontconfig_jll ─────────────── v2.13.93+0
   Installed Libgpg_error_jll ───────────── v1.42.0+0
   Installed Xorg_libxkbfile_jll ────────── v1.1.2+0
   Installed Xorg_libXinerama_jll ───────── v1.1.4+4
   Installed GR ─────────────────────────── v0.73.3
   Installed Xorg_libXau_jll ────────────── v1.0.11+0
   Installed EpollShim_jll ──────────────── v0.0.20230411+0
   Installed FFMPEG ─────────────────────── v0.4.1
   Installed Showoff ────────────────────── v1.0.3
   Installed Xorg_xcb_util_keysyms_jll ──── v0.4.0+1
   Installed xkbcommon_jll ──────────────── v1.4.1+1
   Installed Bzip2_jll ──────────────────── v1.0.8+1
   Installed HarfBuzz_jll ───────────────── v2.8.1+1
   Installed LZO_jll ────────────────────── v2.10.1+0
   Installed XZ_jll ─────────────────────── v5.6.1+0
   Installed PlotThemes ─────────────────── v3.1.0
   Installed FriBidi_jll ────────────────── v1.0.10+0
   Installed GLFW_jll ───────────────────── v3.3.9+0
   Installed UnicodeFun ─────────────────── v0.4.1
   Installed x264_jll ───────────────────── v2021.5.5+0
   Installed FreeType2_jll ──────────────── v2.13.1+0
   Installed StatsAPI ───────────────────── v1.7.0
   Installed Colors ─────────────────────── v0.12.10
   Installed libpng_jll ─────────────────── v1.6.43+1
   Installed Xorg_libxcb_jll ────────────── v1.15.0+0
   Installed mtdev_jll ──────────────────── v1.1.6+0
   Installed StatsBase ──────────────────── v0.34.2
   Installed libaom_jll ─────────────────── v3.4.0+0
   Installed ColorTypes ─────────────────── v0.11.4
   Installed ColorSchemes ───────────────── v3.24.0
   Installed eudev_jll ──────────────────── v3.2.9+0
   Installed gperf_jll ──────────────────── v3.1.1+0
   Installed Xorg_libXext_jll ───────────── v1.3.4+4
   Installed TensorCore ─────────────────── v0.1.1
   Installed Zstd_jll ───────────────────── v1.5.5+0
   Installed Xorg_xcb_util_cursor_jll ───── v0.1.4+0
   Installed Plots ──────────────────────── v1.40.2
   Installed Libffi_jll ─────────────────── v3.2.2+1
   Installed Libtiff_jll ────────────────── v4.5.1+1
   Installed Format ─────────────────────── v1.3.7
   Installed ColorVectorSpace ───────────── v0.10.0
   Installed Xorg_libXrender_jll ────────── v0.9.10+4
   Installed libinput_jll ───────────────── v1.18.0+0
   Installed Ogg_jll ────────────────────── v1.3.5+1
   Installed libevdev_jll ───────────────── v1.11.0+0
   Installed Xorg_libXcursor_jll ────────── v1.2.0+4
   Installed Xorg_libXi_jll ─────────────── v1.7.10+4
   Installed XSLT_jll ───────────────────── v1.1.34+0
   Installed Vulkan_Loader_jll ──────────── v1.3.243+0
   Installed Wayland_protocols_jll ──────── v1.31.0+0
   Installed Xorg_xcb_util_renderutil_jll ─ v0.3.9+1
   Installed Xorg_libICE_jll ────────────── v1.0.10+1
   Installed Libuuid_jll ────────────────── v2.39.3+1
   Installed XML2_jll ───────────────────── v2.12.5+0
   Installed Pixman_jll ─────────────────── v0.42.2+0
   Installed libass_jll ─────────────────── v0.15.1+0
   Installed Graphite2_jll ──────────────── v1.3.14+0
   Installed Wayland_jll ────────────────── v1.21.0+1
   Installed Xorg_xtrans_jll ────────────── v1.5.0+0
   Installed Gettext_jll ────────────────── v0.21.0+0
   Installed Latexify ───────────────────── v0.16.2
   Installed Xorg_libXrandr_jll ─────────── v1.5.2+4
   Installed Libgcrypt_jll ──────────────── v1.8.7+0
   Installed Xorg_xkeyboard_config_jll ──── v2.39.0+0
   Installed FixedPointNumbers ──────────── v0.8.4
   Installed LLVMOpenMP_jll ─────────────── v15.0.7+0
   Installed FFMPEG_jll ─────────────────── v4.4.4+1
   Installed RecipesBase ────────────────── v1.3.4
   Installed Xorg_libXfixes_jll ─────────── v5.0.3+4
   Installed LAME_jll ───────────────────── v3.100.1+0
   Installed Glib_jll ───────────────────── v2.80.0+0
   Installed libvorbis_jll ──────────────── v1.3.7+1
   Installed Qt6Base_jll ────────────────── v6.5.3+1
   Installed Libglvnd_jll ───────────────── v1.6.0+0
   Installed Xorg_libX11_jll ────────────── v1.8.6+0
   Installed Xorg_libXdmcp_jll ──────────── v1.1.4+0
   Installed UnitfulLatexify ────────────── v1.6.3
   Installed Unzip ──────────────────────── v0.2.0
  Downloaded artifact: JpegTurbo
  Downloaded artifact: x265
  Downloaded artifact: libfdk_aac
  Downloaded artifact: GR
  Downloaded artifact: LERC
  Downloaded artifact: Opus
  Downloaded artifact: Cairo
  Downloaded artifact: Fontconfig
  Downloaded artifact: Libgpg_error
  Downloaded artifact: Bzip2
  Downloaded artifact: XZ
  Downloaded artifact: HarfBuzz
  Downloaded artifact: LZO
  Downloaded artifact: FriBidi
  Downloaded artifact: GLFW
  Downloaded artifact: x264
  Downloaded artifact: FreeType2
  Downloaded artifact: libpng
  Downloaded artifact: libaom
  Downloaded artifact: gperf
  Downloaded artifact: Zstd
  Downloaded artifact: Libtiff
  Downloaded artifact: Libffi
  Downloaded artifact: Ogg
  Downloaded artifact: Vulkan_Loader
  Downloaded artifact: XSLT
  Downloaded artifact: Wayland_protocols
  Downloaded artifact: Graphite2
  Downloaded artifact: libass
  Downloaded artifact: Pixman
  Downloaded artifact: XML2
  Downloaded artifact: Gettext
  Downloaded artifact: FFMPEG
  Downloaded artifact: Libgcrypt
  Downloaded artifact: Xorg_xkeyboard_config
  Downloaded artifact: LLVMOpenMP
  Downloaded artifact: LAME
  Downloaded artifact: Qt6Base
  Downloaded artifact: Glib
  Downloaded artifact: libvorbis
    Updating `/private/var/folders/lx/07x6z_b908gd4wd3v_wf2b4c0000gn/T/jl_4zR9Cg/Project.toml`
  [91a5bcdd] + Plots v1.40.2
    Updating `/private/var/folders/lx/07x6z_b908gd4wd3v_wf2b4c0000gn/T/jl_4zR9Cg/Manifest.toml`
  [d1d4a3ce] + BitFlags v0.1.8
  [944b1d66] + CodecZlib v0.7.4
  [35d6a980] + ColorSchemes v3.24.0
  [3da002f7] + ColorTypes v0.11.4
  [c3611d14] + ColorVectorSpace v0.10.0
  [5ae59095] + Colors v0.12.10
  [34da2185] + Compat v4.14.0
  [f0e56b4a] + ConcurrentUtilities v2.4.1
  [d38c429a] + Contour v0.6.2
  [9a962f9c] + DataAPI v1.16.0
  [864edb3b] + DataStructures v0.18.18
  [8bb1440f] + DelimitedFiles v1.9.1
  [ffbed154] + DocStringExtensions v0.9.3
  [460bff9d] + ExceptionUnwrapping v0.1.10
  [c87230d0] + FFMPEG v0.4.1
  [53c48c17] + FixedPointNumbers v0.8.4
  [1fa38f19] + Format v1.3.7
  [28b8d3ca] + GR v0.73.3
  [42e2da0e] + Grisu v1.0.2
  [cd3eb016] + HTTP v1.10.5
  [92d709cd] + IrrationalConstants v0.2.2
  [1019f520] + JLFzf v0.1.7
  [692b3bcd] + JLLWrappers v1.5.0
  [682c06a0] + JSON v0.21.4
  [b964fa9f] + LaTeXStrings v1.3.1
  [23fbe1c1] + Latexify v0.16.2
  [2ab3a3ac] + LogExpFunctions v0.3.27
  [e6f89c97] + LoggingExtras v1.0.3
  [1914dd2f] + MacroTools v0.5.13
  [739be429] + MbedTLS v1.1.9
  [442fdcdd] + Measures v0.3.2
  [e1d29d7a] + Missings v1.1.0
  [77ba4419] + NaNMath v1.0.2
  [4d8831e6] + OpenSSL v1.4.2
  [bac558e1] + OrderedCollections v1.6.3
  [69de0a69] + Parsers v2.8.1
  [b98c9c47] + Pipe v1.3.0
  [ccf2f8ad] + PlotThemes v3.1.0
  [995b91a9] + PlotUtils v1.4.1
  [91a5bcdd] + Plots v1.40.2
  [aea7be01] + PrecompileTools v1.2.1
  [21216c6a] + Preferences v1.4.3
  [3cdcf5f2] + RecipesBase v1.3.4
  [01d81517] + RecipesPipeline v0.6.12
  [189a3867] + Reexport v1.2.2
  [05181044] + RelocatableFolders v1.0.1
  [ae029012] + Requires v1.3.0
  [6c6a2e73] + Scratch v1.2.1
  [992d4aef] + Showoff v1.0.3
  [777ac1f9] + SimpleBufferStream v1.1.0
  [a2af1166] + SortingAlgorithms v1.2.1
  [82ae8749] + StatsAPI v1.7.0
  [2913bbd2] + StatsBase v0.34.2
  [62fd8b95] + TensorCore v0.1.1
  [3bb67fe8] + TranscodingStreams v0.10.6
  [5c2747f8] + URIs v1.5.1
  [1cfade01] + UnicodeFun v0.4.1
  [1986cc42] + Unitful v1.19.0
  [45397f5d] + UnitfulLatexify v1.6.3
  [41fe7b60] + Unzip v0.2.0
  [6e34b625] + Bzip2_jll v1.0.8+1
  [83423d85] + Cairo_jll v1.18.0+1
  [2702e6a9] + EpollShim_jll v0.0.20230411+0
  [2e619515] + Expat_jll v2.5.0+0
⌅ [b22a6f82] + FFMPEG_jll v4.4.4+1
  [a3f928ae] + Fontconfig_jll v2.13.93+0
  [d7e528f0] + FreeType2_jll v2.13.1+0
  [559328eb] + FriBidi_jll v1.0.10+0
  [0656b61e] + GLFW_jll v3.3.9+0
  [d2c73de3] + GR_jll v0.73.3+0
  [78b55507] + Gettext_jll v0.21.0+0
  [7746bdde] + Glib_jll v2.80.0+0
  [3b182d85] + Graphite2_jll v1.3.14+0
  [2e76f6c2] + HarfBuzz_jll v2.8.1+1
  [aacddb02] + JpegTurbo_jll v3.0.2+0
  [c1c5ebd0] + LAME_jll v3.100.1+0
  [88015f11] + LERC_jll v3.0.0+1
  [1d63c593] + LLVMOpenMP_jll v15.0.7+0
  [dd4b983a] + LZO_jll v2.10.1+0
⌅ [e9f186c6] + Libffi_jll v3.2.2+1
  [d4300ac3] + Libgcrypt_jll v1.8.7+0
  [7e76a0d4] + Libglvnd_jll v1.6.0+0
  [7add5ba3] + Libgpg_error_jll v1.42.0+0
  [94ce4f54] + Libiconv_jll v1.17.0+0
  [4b2f31a3] + Libmount_jll v2.39.3+0
⌅ [89763e89] + Libtiff_jll v4.5.1+1
  [38a345b3] + Libuuid_jll v2.39.3+1
  [e7412a2a] + Ogg_jll v1.3.5+1
  [458c3c95] + OpenSSL_jll v3.0.13+0
  [91d4177d] + Opus_jll v1.3.2+0
  [30392449] + Pixman_jll v0.42.2+0
  [c0090381] + Qt6Base_jll v6.5.3+1
  [a44049a8] + Vulkan_Loader_jll v1.3.243+0
  [a2964d1f] + Wayland_jll v1.21.0+1
  [2381bf8a] + Wayland_protocols_jll v1.31.0+0
  [02c8fc9c] + XML2_jll v2.12.5+0
  [aed1982a] + XSLT_jll v1.1.34+0
  [ffd25f8a] + XZ_jll v5.6.1+0
  [f67eecfb] + Xorg_libICE_jll v1.0.10+1
  [c834827a] + Xorg_libSM_jll v1.2.3+0
  [4f6342f7] + Xorg_libX11_jll v1.8.6+0
  [0c0b7dd1] + Xorg_libXau_jll v1.0.11+0
  [935fb764] + Xorg_libXcursor_jll v1.2.0+4
  [a3789734] + Xorg_libXdmcp_jll v1.1.4+0
  [1082639a] + Xorg_libXext_jll v1.3.4+4
  [d091e8ba] + Xorg_libXfixes_jll v5.0.3+4
  [a51aa0fd] + Xorg_libXi_jll v1.7.10+4
  [d1454406] + Xorg_libXinerama_jll v1.1.4+4
  [ec84b674] + Xorg_libXrandr_jll v1.5.2+4
  [ea2f1a96] + Xorg_libXrender_jll v0.9.10+4
  [14d82f49] + Xorg_libpthread_stubs_jll v0.1.1+0
  [c7cfdc94] + Xorg_libxcb_jll v1.15.0+0
  [cc61e674] + Xorg_libxkbfile_jll v1.1.2+0
  [e920d4aa] + Xorg_xcb_util_cursor_jll v0.1.4+0
  [12413925] + Xorg_xcb_util_image_jll v0.4.0+1
  [2def613f] + Xorg_xcb_util_jll v0.4.0+1
  [975044d2] + Xorg_xcb_util_keysyms_jll v0.4.0+1
  [0d47668e] + Xorg_xcb_util_renderutil_jll v0.3.9+1
  [c22f9ab0] + Xorg_xcb_util_wm_jll v0.4.1+1
  [35661453] + Xorg_xkbcomp_jll v1.4.6+0
  [33bec58e] + Xorg_xkeyboard_config_jll v2.39.0+0
  [c5fb5394] + Xorg_xtrans_jll v1.5.0+0
  [3161d3a3] + Zstd_jll v1.5.5+0
  [35ca27e7] + eudev_jll v3.2.9+0
  [214eeab7] + fzf_jll v0.43.0+0
  [1a1c6b14] + gperf_jll v3.1.1+0
  [a4ae2306] + libaom_jll v3.4.0+0
  [0ac62f75] + libass_jll v0.15.1+0
  [2db6ffa8] + libevdev_jll v1.11.0+0
  [f638f0a6] + libfdk_aac_jll v2.0.2+0
  [36db933b] + libinput_jll v1.18.0+0
  [b53b4c65] + libpng_jll v1.6.43+1
  [f27f6e37] + libvorbis_jll v1.3.7+1
  [009596ad] + mtdev_jll v1.1.6+0
  [1270edf5] + x264_jll v2021.5.5+0
  [dfaa095f] + x265_jll v3.5.0+0
  [d8fb68d0] + xkbcommon_jll v1.4.1+1
  [0dad84c5] + ArgTools v1.1.1
  [56f22d72] + Artifacts
  [2a0f44e3] + Base64
  [ade2ca70] + Dates
  [f43a241f] + Downloads v1.6.0
  [7b1f6079] + FileWatching
  [b77e0a4c] + InteractiveUtils
  [b27032c2] + LibCURL v0.6.4
  [76f85450] + LibGit2
  [8f399da3] + Libdl
  [37e2e46d] + LinearAlgebra
  [56ddb016] + Logging
  [d6f4376e] + Markdown
  [a63ad114] + Mmap
  [ca575930] + NetworkOptions v1.2.0
  [44cfe95a] + Pkg v1.10.0
  [de0858da] + Printf
  [3fa0cd96] + REPL
  [9a3f8284] + Random
  [ea8e919c] + SHA v0.7.0
  [9e88b42a] + Serialization
  [6462fe0b] + Sockets
  [2f01184e] + SparseArrays v1.10.0
  [10745b16] + Statistics v1.10.0
  [fa267f1f] + TOML v1.0.3
  [a4e569a6] + Tar v1.10.0
  [8dfed614] + Test
  [cf7118a7] + UUIDs
  [4ec0a83e] + Unicode
  [e66e0078] + CompilerSupportLibraries_jll v1.1.0+0
  [deac9b47] + LibCURL_jll v8.4.0+0
  [e37daf67] + LibGit2_jll v1.6.4+0
  [29816b5a] + LibSSH2_jll v1.11.0+1
  [c8ffd9c3] + MbedTLS_jll v2.28.2+1
  [14a3606d] + MozillaCACerts_jll v2023.1.10
  [4536629a] + OpenBLAS_jll v0.3.23+4
  [05823500] + OpenLibm_jll v0.8.1+2
  [efcefdf7] + PCRE2_jll v10.42.0+1
  [bea87d4a] + SuiteSparse_jll v7.2.1+1
  [83775a58] + Zlib_jll v1.2.13+1
  [8e850b90] + libblastrampoline_jll v5.8.0+1
  [8e850ede] + nghttp2_jll v1.52.0+1
  [3f19e933] + p7zip_jll v17.4.0+2
        Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m`
Precompiling project...
  101 dependencies successfully precompiled in 41 seconds. 47 already precompiled.

julia> using Plots

julia> plotly()
┌ Warning: Failed to load integration with PlotlyBase & PlotlyKaleido.
│   exception =
│    ArgumentError: Package PlotlyBase not found in current path.
│    - Run `import Pkg; Pkg.add("PlotlyBase")` to install the PlotlyBase package.
│    Stacktrace:
│      [1] macro expansion
│        @ ./loading.jl:1772 [inlined]
│      [2] macro expansion
│        @ ./lock.jl:267 [inlined]
│      [3] __require(into::Module, mod::Symbol)
│        @ Base ./loading.jl:1753
│      [4] #invoke_in_world#3
│        @ ./essentials.jl:926 [inlined]
│      [5] invoke_in_world
│        @ ./essentials.jl:923 [inlined]
│      [6] require(into::Module, mod::Symbol)
│        @ Base ./loading.jl:1746
│      [7] top-level scope
│        @ ~/.julia/packages/Plots/a3u1v/src/backends.jl:565
│      [8] eval
│        @ ./boot.jl:385 [inlined]
│      [9] _initialize_backend(pkg::Plots.PlotlyBackend)
│        @ Plots ~/.julia/packages/Plots/a3u1v/src/backends.jl:564
│     [10] backend
│        @ ~/.julia/packages/Plots/a3u1v/src/backends.jl:244 [inlined]
│     [11] plotly()
│        @ Plots ~/.julia/packages/Plots/a3u1v/src/backends.jl:87
│     [12] top-level scope
│        @ REPL[6]:1
│     [13] eval
│        @ ./boot.jl:385 [inlined]
│     [14] eval_user_input(ast::Any, backend::REPL.REPLBackend, mod::Module)
│        @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:150
│     [15] repl_backend_loop(backend::REPL.REPLBackend, get_module::Function)
│        @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:246
│     [16] start_repl_backend(backend::REPL.REPLBackend, consumer::Any; get_module::Function)
│        @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:231
│     [17] run_repl(repl::REPL.AbstractREPL, consumer::Any; backend_on_current_task::Bool, backend::Any)
│        @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:389
│     [18] run_repl(repl::REPL.AbstractREPL, consumer::Any)
│        @ REPL /Applications/Julia-1.10.app/Contents/Resources/julia/share/julia/stdlib/v1.10/REPL/src/REPL.jl:375
│     [19] (::Base.var"#1013#1015"{Bool, Bool, Bool})(REPL::Module)
│        @ Base ./client.jl:432
│     [20] #invokelatest#2
│        @ ./essentials.jl:892 [inlined]
│     [21] invokelatest
│        @ ./essentials.jl:889 [inlined]
│     [22] run_main_repl(interactive::Bool, quiet::Bool, banner::Bool, history_file::Bool, color_set::Bool)
│        @ Base ./client.jl:416
│     [23] exec_options(opts::Base.JLOptions)
│        @ Base ./client.jl:333
│     [24] _start()
│        @ Base ./client.jl:552
└ @ Plots ~/.julia/packages/Plots/a3u1v/src/backends.jl:574
Plots.PlotlyBackend()

julia> using Plots

julia> plotly()
Plots.PlotlyBackend()