这可能与this或this相关。但是,建议的解决方案都不适合我。
\n我正在使用带有 Julia 扩展的 VSCode,并且在 Jupyter 笔记本中运行所有内容。我的第一个单元格如下所示。
\nusing Distributions\nusing StatsBase\nusing CSV\nusing DataFrames\nusing HypothesisTests\nusing Plots\nusing GLM\nusing StatsPlots\nRun Code Online (Sandbox Code Playgroud)\n执行单元会产生以下错误。
\nailed to precompile StatsPlots [f3b207a7-027a-5e70-b257-86293d7955fd] to /home/david/.julia/compiled/v1.7/StatsPlots/jl_27z7QU.\n\nStacktrace:\n [1] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)\n @ Base ./loading.jl:1466\n [2] compilecache(pkg::Base.PkgId, path::String)\n @ Base ./loading.jl:1410\n [3] _require(pkg::Base.PkgId)\n @ Base ./loading.jl:1120\n [4] require(uuidkey::Base.PkgId)\n @ Base ./loading.jl:1013\n [5] require(into::Module, mod::Symbol)\n @ Base ./loading.jl:997\n [6] eval\n @ ./boot.jl:373 [inlined]\n [7] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String)\n @ Base ./loading.jl:1196\n [8] #invokelatest#2\n @ ./essentials.jl:716 [inlined]\n [9] invokelatest\n @ ./essentials.jl:714 [inlined]\n [10] (::VSCodeServer.var"#150#151"{VSCodeServer.NotebookRunCellArguments, String})()\n @ VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.5.11/scripts/packages/VSCodeServer/src/serve_notebook.jl:18\n [11] withpath(f::VSCodeServer.var"#150#151"{VSCodeServer.NotebookRunCellArguments, String}, path::String)\n @ VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.5.11/scripts/packages/VSCodeServer/src/repl.jl:185\n [12] notebook_runcell_request(conn::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint, Base.PipeEndpoint}, params::VSCodeServer.NotebookRunCellArguments)\n @ VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.5.11/scripts/packages/VSCodeServer/src/serve_notebook.jl:14\n [13] dispatch_msg(x::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint, Base.PipeEndpoint}, dispatcher::VSCodeServer.JSONRPC.MsgDispatcher, msg::Dict{String, Any})\n @ VSCodeServer.JSONRPC ~/.vscode/extensions/julialang.language-julia-1.5.11/scripts/packages/JSONRPC/src/typed.jl:67\n [14] serve_notebook(pipename::String; crashreporting_pipename::String)\n @ VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.5.11/scripts/packages/VSCodeServer/src/serve_notebook.jl:94\n [15] top-level scope\n @ ~/.vscode/extensions/julialang.language-julia-1.5.11/scripts/notebook/notebook.jl:12\nRun Code Online (Sandbox Code Playgroud)\n接下来,我打开 Julia 命令行并使用 删除了 StatsPlots 扩展,] rm "StatsPlots"然后使用 读取了它,] add "StatsPlots"但没有成功。我尝试precompile在命令行中手动执行,这会产生以下输出。
(@v1.7) pkg> precompile\nPrecompiling project...\n \xe2\x9c\x97 Arpack\n \xe2\x9c\x97 MultivariateStats\n \xe2\x9c\x97 StatsPlots\n 0 dependencies successfully precompiled in 11 seconds (216 already precompiled)\n\nERROR: The following 1 direct dependency failed to precompile:\n\nStatsPlots [f3b207a7-027a-5e70-b257-86293d7955fd]\n\nFailed to precompile StatsPlots [f3b207a7-027a-5e70-b257-86293d7955fd] to /home/david/.julia/compiled/v1.7/StatsPlots/jl_1XjxNk.\nERROR: LoadError: InitError: could not load library "/home/david/.julia/artifacts/cdf6dc8aa6771a61c6c65a5a5c1a8d1b75f50a2f/lib/libarpack.so"\nlibopenblas64_.so: cannot open shared object file: No such file or directory\nStacktrace:\n [1] macro expansion\n @ ~/.julia/packages/JLLWrappers/QpMQW/src/products/library_generators.jl:54 [inlined]\n [2] __init__()\n @ Arpack_jll ~/.julia/packages/Arpack_jll/zfgpQ/src/wrappers/x86_64-linux-gnu-libgfortran5.jl:10\n [3] top-level scope (repeats 2 times)\n @ none:1\nduring initialization of module Arpack_jll\nin expression starting at /home/david/.julia/packages/Arpack/pLziT/src/Arpack.jl:2\nERROR: LoadError: Failed to precompile Arpack [7d9fca2a-8960-54d3-9f78-7d1dccf2cb97] to /home/david/.julia/compiled/v1.7/Arpack/jl_fCy8AR.\nStacktrace:\n [1] include(x::String)\n @ MultivariateStats ~/.julia/packages/MultivariateStats/zLpz8/src/MultivariateStats.jl:1\n [2] top-level scope\n @ ~/.julia/packages/MultivariateStats/zLpz8/src/MultivariateStats.jl:113\n [3] top-level scope (repeats 2 times)\n @ none:1\nin expression starting at /home/david/.julia/packages/MultivariateStats/zLpz8/src/kpca.jl:3\nin expression starting at /home/david/.julia/packages/MultivariateStats/zLpz8/src/MultivariateStats.jl:1\nERROR: LoadError: Failed to precompile MultivariateStats [6f286f6a-111f-5878-ab1e-185364afe411] to /home/david/.julia/compiled/v1.7/MultivariateStats/jl_8Rrih5.\nStacktrace:\n [1] top-level scope (repeats 2 times)\n @ none:1\nin expression starting at /home/david/.julia/packages/StatsPlots/CpWiU/src/StatsPlots.jl:1\nRun Code Online (Sandbox Code Playgroud)\n我尝试重新启动 Julia 内核,重新启动 VSCode,并且尝试了我提供的第二个链接中建议的解决方案,这意味着删除软件包并运行gc.
我也删除并阅读了MultivariateStats,Arpack但上述错误仍然存在。
可能是出于兴趣,它以前曾经有效过。我首先通过执行以下单元格遇到不同的错误。
\n@df data density(:Age, group = :Treatment, title = "Distribution of ages by treatment group", xlab = "Age", ylab="Distribution", legend=:topright)\nRun Code Online (Sandbox Code Playgroud)\n上面产生了以下错误消息。
\nLoadError: UndefVarError: @df not defined\nRun Code Online (Sandbox Code Playgroud)\n可能是我不小心添加了过时的扩展StatPlots,这可能导致了上述问题。不过,我已经删除了旧的扩展并添加了新的扩展。
我该如何解决上述问题?
\n编辑:运行Pkg.status()会产生以下输出。
(@v1.7) pkg> status\n Status `~/.julia/environments/v1.7/Project.toml`\n [336ed68f] CSV v0.10.2\n [8f4d0f93] Conda v1.6.0\n [a93c6f00] DataFrames v1.3.2\n [31c24e10] Distributions v0.25.48\n [38e38edf] GLM v1.6.1\n [a2cc645c] GraphPlot v0.5.0\n [86223c79] Graphs v1.6.0\n [09f84164] HypothesisTests v0.10.6\n [7073ff75] IJulia v1.23.2\n [91a5bcdd] Plots v1.25.8\n [c3e4b0f8] Pluto v0.18.0\n [7f904dfe] PlutoUI v0.7.23\n [438e738f] PyCall v1.93.0\n [d330b81b] PyPlot v2.10.0\n [aa4a32ff] SimpleHypergraphs v0.2.0\n [2913bbd2] StatsBase v0.33.14\n [f3b207a7] StatsPlots v0.14.33\nRun Code Online (Sandbox Code Playgroud)\n
我能够解决这个问题。问题的根源是缺少库libopenblas64。这可能是由于 Julia 安装错误造成的。这是我所做的。
首先,打开Julia命令行并执行以下两个命令。
using Libdl
filter!(p -> occursin("blas", p), Libdl.dllist())
Run Code Online (Sandbox Code Playgroud)
就我而言,这产生了以下输出。
1-element Array{String,1}:
"/usr/bin/../lib/libblas.so"
Run Code Online (Sandbox Code Playgroud)
我在这个Github问题中发现了类似的问题。那里也给出了正确的提示。由于我使用的是Manjaro(基于Arch Linux操作系统构建),因此我使用的Julia安装包可能存在问题。
我删除了 Julia 安装并通过执行以下命令安装了官方二进制文件: julia-bin 。
yay -S julia-bin
Run Code Online (Sandbox Code Playgroud)
再次打开 Julia 命令行并运行前两个命令。这次的输出如下。
julia> filter!(p -> occursin("blas", p), Libdl.dllist())
2-element Vector{String}:
"/usr/bin/../lib/julia/libopenblas64_.so"
"/usr/bin/../lib/julia/libblastrampoline.so"
Run Code Online (Sandbox Code Playgroud)
现在执行我的笔记本可以按预期工作。
| 归档时间: |
|
| 查看次数: |
1115 次 |
| 最近记录: |