如何在Julia中查找软件包版本?

5

如何在Julia中查找软件包的版本?是否有一条命令可以显示正在使用的版本?

1个回答

5

检查当前项目环境中安装的版本非常简单:

(@v1.5) pkg> st DataFrames
Status `D:\.julia\environments\v1.5\Project.toml`
  [a93c6f00] DataFrames v0.22.1 `D:\.julia\dev\DataFrames`

如果您想获取当前加载的软件包版本(可能会因为更改项目环境或在同一Julia会话中升级软件包而有所不同),则较为困难。此时,您可以使用以下命令:

julia> using Pkg

(@v1.5) pkg> st DataFrames
Status `D:\.julia\environments\v1.5\Project.toml`
  [a93c6f00] DataFrames v0.22.2

julia> Pkg.TOML.parsefile(joinpath(String(first(methods(getfield(DataFrames, :eval))).file), "..", "..", "Project.toml"))["version"]
"0.22.1"

在这个例子中,我首先加载了DataFrames.jl 0.22.1,然后在加载后将其升级到0.22.2。
(您可以在此处查找更多详细信息,了解为什么需要此操作以及何时可能失败。)

你也可以直接输入 st,它会列出所有已安装的包及其版本。 - logankilpatrick
2
pathof已在1.6中修复,因此无需通过methods等方式跳过。此外,您可以使用pkgdir(DataFrames),它会给出包的根目录。我还建议不要在运行时更改软件包环境。 - fredrikekre
1.6的修复很好,太棒了。我同意在运行时更改包环境是不可取的。问题在于这是导致有关DataFrames.jl工作方式的问题最常见的根本原因之一。 - Bogumił Kamiński

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接