Julia 的 Pluto Notebook 一直说要更新它。我直接从 Pluto 更新它,关闭它,重新启动它,它说要再次更新它。试了 3 次。这是一个错误吗?另外,冥王星太光秃了,我找不到它的命令。某处是否有命令托盘,以便我可以发出 versioninfo 命令?该命令只给了我 Julia 版本,而不是 Pluto 版本。
1 回答
很难确定,当然这是难以重现的问题之一,但我认为可能发生的是你在 Pluto 0.15 上,它会自动为每个笔记本创建一个可重现的环境,留下你的全局包不受包操作影响的环境。
您需要确保在启动笔记本的任何环境中更新 Pluto,即假设您从全局环境启动 Pluto(因此您只需julia
在终端中启动,然后直接执行using Pluto; Pluto.run()
)确保您] up
在运行 Pluto 之前的全局环境。] st
在启动 Pluto 之前还要检查一下您使用的是哪个版本。
举一个完整的例子,这是我的全球 1.6 环境,其中只有冥王星:
(@v1.6) pkg> st
Status `~/.julia/environments/v1.6/Project.toml`
[c3e4b0f8] Pluto v0.15.1
然后我开始一个新的笔记本:
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
现在,如果我想知道我的笔记本环境中安装的软件包的软件包版本,我可以这样做:
它在我启动 Pluto 的终端中产生以下输出:
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
(...)
这里的using Pkg
第一个位(在. 请注意,我的环境路径是,这与我启动 Pluto 的路径不同(它们的名称与 Pluto 相似,我相信使用相同的功能为笔记本创建临时环境)。Pkg
Project.toml
Manifest.toml
/tmp/jl_nvrbqO/Project.toml
~/.julia/environments/v1.6/Project.toml
Pkg
这意味着如果我现在将 Pluto 添加到这个环境并在那里更新它,它将使我实际启动 Pluto 的环境不受影响,所以下次我从同一个全局环境启动 Pluto 时,它会相同(未更新)的版本。因此,不收到警告的关键是在我实际做]up
的环境中做,而不是在笔记本本身内做。@v1.6
using Pluto; Pluto.run()
希望这是有道理的!