Заполните итерацию пакетами 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