Pluto Notebook for Julia keeps saying to update it. I update it right from Pluto, shut it down, restart it, and it says to update it Again. Tried 3 times. Is this a bug? Also, Pluto is so Bare I can't find commands for it. Is there a command pallete somewhere so I could issue a versioninfo command? That command only gives me the Julia version, not the Pluto version.
1 Answers
Hard to be certain as of course this is one of these issues which is hard to make reproducible, but what I think might be going on is that you are on Pluto 0.15, which automatically creates a reproducible environment for each notebook, leaving your global package environment unaffected by package operations.
You need to make sure that you update Pluto in whatever environment you're starting the notebook from, i.e. assuming that you are starting Pluto from your global environment (so you just start julia
in a terminal and then directly do using Pluto; Pluto.run()
) make sure that you do ] up
in that global environment before you run Pluto. Check ] st
also before starting Pluto to see which version you are on.
Just to give a full example, here is my global 1.6 environment with only Pluto in it:
(@v1.6) pkg> st
Status `~/.julia/environments/v1.6/Project.toml`
[c3e4b0f8] Pluto v0.15.1
Then I start a new notebook:
julia> using Pluto
julia> Pluto.run()
Opening http://localhost:1234/?secret=fqgaVM5N in your default browser... ~ have fun!
Press Ctrl+C in this terminal to stop Pluto
Now if I want to know the package versions of packages installed in my notebook environment, I can do:
which produces the following output in the terminal that I started Pluto from:
Resolving package versions...
Updating `/tmp/jl_nvrbqO/Project.toml`
[44cfe95a] + Pkg
Updating `/tmp/jl_nvrbqO/Manifest.toml`
[0dad84c5] + ArgTools
[56f22d72] + Artifacts
(...)
Status `/tmp/jl_nvrbqO/Project.toml`
[44cfe95a] Pkg
The first bit here (before the (...)
, which are a bunch of additional dependencies that I omitted here for brevity) is the result of using Pkg
in the notebook cell - Pluto adds the standard library Pkg
to the notebook environment's Project.toml
file, and the relevant dependencies to the Manifest.toml
. Note that the path of my environment is /tmp/jl_nvrbqO/Project.toml
, which is different from the ~/.julia/environments/v1.6/Project.toml
path that I started Pluto from (they have similar names as Pluto I believe uses the same Pkg
functionality to create the temp environment for the notebook).
This means that if I were to add Pluto to this environment now and update it there, it would leave the environment from which I actually started Pluto from unaffected, so the next time I'd start Pluto from the same global environment, it would have the same (not updated) version. Therefore the key to not getting the warning is to do ]up
in the @v1.6
environment from which I actually do using Pluto; Pluto.run()
, not from within the notebook itself.
Hope this makes sense!

- 13,222
- 3
- 39
- 60
-
I even tried the old remove-and-and reinstall ] > remove Pluto > add Pluto And I still have 14.7. I'm stumped. – cybervigilante Aug 06 '21 at 17:26
-
As I said on Discourse, what's the output of `Pkg.status()`? You probably just installed all packages into the default environment, and now some incompatibility is preventing the update. – Nils Gudat Aug 07 '21 at 12:24