Заполните итерацию пакетами 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
r
razdavaykin
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
R
Rootless
-
3
-
3
-
4
-
2
-
7
-
2
-
4
-
5
-
5
-
1
-
3
-
1
-
5
-
6
-
1
-
2
-
2
-
2
-
1
-
3
-
2
-
1
-
3
-
5
-
3
-
4
-
4
-
2
-
2
-
3
-
3
-
4
-
2
-
3
-
1
-
3
-
2
-
2
-
4
-
3
-
4
-
4
-
2
-
1
-
3
-
5
-
2
-
2
-
1
-
1