Заполните итерацию пакетами Julia

Pkg.status() хорошо известно. Однако он выводит на стандартный 9X_julia-lang вывод. Мне нужны имена пакетов в итерации, например, в 9X_julia-lang списке или векторе или около того. Было 9X_julia-lang бы глупо использовать Suppressor. Как этого 9X_julia-lang добиться?

На основании ответа ниже:

for v in values(Pkg.dependencies())
    println(v.name)
end

6
0
1
Общее количество ответов: 1

Ответ #1

Ответ на вопрос: Заполните итерацию пакетами Julia

То, что вы ищете, это dependencies()

julia> Pkg.dependencies()
Dict{Base.UUID, Pkg.API.PackageInfo} with 399 entries:
  UUID("49dc2e85-a5d0-5ad3-a950-438e2897f1b9") => PackageInfo("Calculus", v"0.5.1", "f641eb0a4f00c343bbc32346e1217b86f3ce9da…
  UUID("efcefdf7-47ab-520b-bdef-62a2eaa19f15") => PackageInfo("PCRE2_jll", v"10.40.0+0", nothing, false, false, false, false…
...

Это возвращает итератор 9X_julia pars. Элемент value пары содержит элемент 9X_julia PackageInfo со следующими полями:

julia> fieldnames(Pkg.API.PackageInfo)
(:name, :version, :tree_hash, :is_direct_dep, :is_pinned, :is_tracking_path, :is_tracking_repo, :is_tracking_registry, :git_revision, :git_source, :source, :dependencies)

А вот пример 9X_julia использования:

julia> for (uuid, dep) in Pkg.dependencies()
            dep.is_direct_dep || continue
            dep.version === nothing && continue
            println("$(dep.name) $(dep.version)")
       end
ZipFile 0.10.0
DataFrames 1.4.1
Revise 3.4.0
Symbolics 4.11.1
BenchmarkTools 1.3.1
IJulia 1.23.3
...

11
0