如何在 Julia 中找到我的软件包版本?

Dav*_*ira 4 version package julia

如何在 Julia 中找到我的软件包版本?是否有显示正在使用的版本的命令?

Bog*_*ski 5

很容易检查当前项目环境中安装的版本:

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

获取当前加载的包的版本更加困难(如果您在同一 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"
Run Code Online (Sandbox Code Playgroud)

(在本例中,我首先加载了 DataFrames.jl 0.22.1,然后在加载后将其升级到 0.22.2)

(您可以在此处找到更多详细信息,为什么需要这样做以及何时失败)

  • `pathof` 已在 1.6 中修复,因此无需使用 `methods` 等进行跳过。此外,您可以使用 `pkgdir(DataFrames)`,它提供包根文件夹。我还建议不要在运行时更改包环境。 (2认同)