Определить версию определенного пакета

Как я могу получить номер версии для определенного пакета?

Очевидным способом является получение словаря со всеми установленными пакетами, а затем фильтра для интересующего вас:

pkgs = Pkg.installed();
pkgs["Datetime"]

Получение списка всех установленных пакетов происходит очень медленно, особенно если есть много пакетов.

Ответ 1

РЕДАКТИРОВАТЬ: Для Джулии версии 1. 0+

Pkg.installed похоже, "регрессировал" с новой системой пакетов. Для Pkg.installed аргументов Pkg.installed. Таким образом, оригинальный метод OP, кажется, является лучшим из того, что вы можете сделать в данный момент.

pkgs = Pkg.installed();
pkgs["Datetime"]

РЕДАКТИРОВАТЬ: Для версии Julia до 0.6.4

Вы можете передать строку в Pkg.installed. Например:

pkgs = Pkg.installed("JuMP")

Я часто проверяю доступные аргументы вызова с помощью methods. Например:

julia> methods(Pkg.installed)
# 2 methods for generic function "installed":
installed() at pkg/pkg.jl:122
installed(pkg::AbstractString) at pkg/pkg.jl:129

или же

julia> Pkg.installed |> methods
# 2 methods for generic function "installed":
installed() at pkg/pkg.jl:122
installed(pkg::AbstractString) at pkg/pkg.jl:129

Ответ 2

Я бы попробовал Pkg.status("PackageName")

Это выведет небольшую рекламную кампанию с указанием имени пакета.

Вот пример

julia> Pkg.status("QuantEcon")
 - QuantEcon                     0.0.1              master

Ответ 3

В Julia 1.1 вы можете использовать

(v1.1) pkg> status "name_of_the_package"

чтобы найти версию любого пакета в данной среде.