Jupyter Lab:添加内核1.3后内核1.0的预编译错误

时间:2019-12-16 04:38:55

标签: jupyter-notebook julia jupyter-lab

在Ubuntu 18.04英特尔系统上,我让Jupyter Lab顺利运行了Julia 1.0.4内核。我想添加1.3内核。我从官方下载站点下载了64位linux二进制文件。我运行了二进制文件,并给出了使用Pkg; Pkg.add(“ IJulia”); Pkg.build(“ IJulia”)的命令,没有错误。

当我运行Jupyter Lab并选择1.0.4笔记本时,系统尝试预编译IJulia并出现以下错误:

[ Info: Precompiling IJulia [7073ff75-c697-5162-941a-fcdaad2a7d2a]
ERROR: LoadError: InitError: error compiling __init__: could not load library "/home/cc/.julia/packages/ZMQ/ABGOx/deps/usr/lib/libzmq.so"
/home/cc/.julia/packages/ZMQ/ABGOx/deps/usr/lib/libzmq.so: wrong ELF class: ELFCLASS64
Stacktrace:
 [1] _include_from_serialized(::String, ::Array{Any,1}) at ./loading.jl:633
 [2] _require_search_from_serialized(::Base.PkgId, ::String) at ./loading.jl:713
 [3] _require(::Base.PkgId) at ./loading.jl:937
 [4] require(::Base.PkgId) at ./loading.jl:858
 [5] require(::Module, ::Symbol) at ./loading.jl:853
 [6] include at ./boot.jl:317 [inlined]
 [7] include_relative(::Module, ::String) at ./loading.jl:1044
 [8] include(::Module, ::String) at ./sysimg.jl:29
 [9] top-level scope at none:2
 [10] eval at ./boot.jl:319 [inlined]
 [11] eval(::Expr) at ./client.jl:393
 [12] top-level scope at ./none:3
during initialization of module ZMQ
in expression starting at /home/cc/.julia/packages/IJulia/F1GUo/src/IJulia.jl:36
ERROR: LoadError: Failed to precompile IJulia [7073ff75-c697-5162-941a-fcdaad2a7d2a] to /home/cc/.julia/compiled/v1.0/IJulia/nfu7T.ji.
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1203
 [3] _require(::Base.PkgId) at ./loading.jl:960
 [4] require(::Base.PkgId) at ./loading.jl:858
 [5] require(::Module, ::Symbol) at ./loading.jl:853
 [6] include at ./boot.jl:317 [inlined]
 [7] include_relative(::Module, ::String) at ./loading.jl:1044
 [8] include(::Module, ::String) at ./sysimg.jl:29
 [9] exec_options(::Base.JLOptions) at ./client.jl:266
 [10] _start() at ./client.jl:425
in expression starting at /home/cc/.julia/packages/IJulia/F1GUo/src/kernel.jl:1
[I 20:20:45.777 LabApp] KernelRestarter: restarting kernel (1/5), keep random ports

内核1.3笔记本似乎运行正常。

关于如何解决此问题的任何想法?

2 个答案:

答案 0 :(得分:0)

可能您已将julia 1.0.4安装为32位。您可以通过启动julia并输入sizeof(Int)来进行检查。如果返回4,则为32位二进制。当您安装julia 1.3.0和IJulia时,它用64位的32位libzmq.so库覆盖了julia 1.0.4中无法使用的库。 如果是这种情况,我建议您替换为用64位版本替换32位julia 1.0.4。

答案 1 :(得分:0)

我已通过用1.0.5(这是长期支持内核)替换1.0.4内核来解决此问题。