在Julia上全局安装一个软件包

时间:2015-09-01 18:36:36

标签: server install julia

我在一台机器上安装了一个新的Julia安装程序,我希望将其用作实验室中各种人员的数字运算服务器。似乎有一个名为jupyterhub的漂亮包,它使得Jupyter Notebook界面可以同时为各种客户提供服务。我再也找不到的网页开始提示“首先在全球安装IJulia,然后安装JupyterHub ......”

我似乎无法找到一种在全球范围内安装ONE软件包的好方法。

1 个答案:

答案 0 :(得分:8)

更新

在Julia-v0.7 +中,我们需要使用JULIA_DEPOT_PATH代替JULIA_PKGDIRLOAD_PATH看起来像这样:

julia> LOAD_PATH
3-element Array{Any,1}:
 Base.CurrentEnv()                                                                                                                     
 Any[Base.NamedEnv("v0.7.0"), Base.NamedEnv("v0.7"), Base.NamedEnv("v0"), Base.NamedEnv("default"), Base.NamedEnv("v0.7", create=true)]
 "/Users/gnimuc/Codes/julia/usr/share/julia/stdlib/v0.7" 

旧帖子

  

“首先在全球安装IJulia,然后安装JupyterHub ......”

我不知道这是否属实,通过执行以下步骤,您可以在安装IJulia后安装Jupyterhub

为每个用户

系统范围/全局安装软件包

Stefan Karpinski已经回答了这个问题here。所以我们需要的只是使用这种方法来安装IJulia.jl包。

  

有一个名为LOAD_PATH的Julia变量,它被安排指向你的julia安装下的两个系统目录。 E.g:

julia> LOAD_PATH
2-element Array{Union(ASCIIString,UTF8String),1}:
 "/opt/julia-0.3.3/usr/local/share/julia/site/v0.3"
 "/opt/julia-0.3.3/usr/share/julia/site/v0.3"
  

如果您在其中任何一个目录下安装软件包,那么使用该Julia的每个人都会看到它们。一种方法是将julia作为用户在shell中执行export JULIA_PKGDIR=/opt/julia-0.3.3/usr/share/julia/site后写入这些目录。这样Julia会使用它作为它的包目录,而正常的包命令将允许你为每个人安装包....

让IJulia与Jupyterhub合作

为了让IJuliaJupyterhub为所有用户互相合作,您应该将文件夹your/user/.local/share/jupyter/kernels/julia/复制到/usr/local/share/jupyter/kernels/。我写下了我在测试Dockerfile中使用的一些步骤。代码很难看,但它确实有效。

步骤:(成功安装Jupyterhub后)

请注意,您应该以root身份执行以下步骤,并假设您的julia已全局安装在/opt/julia_0.4.0/

  1. 制作我们的全球套餐目录并设置JULIA_PKGDIR

    mkdir /opt/global-packages
    echo 'push!(LOAD_PATH, "/opt/global-packages/.julia/v0.4/")' >> /opt/julia_0.4.0/etc/julia/juliarc.jl
    export JULIA_PKGDIR=/opt/global-packages/.julia/
    
  2. 使用包管理器安装“IJulia”:

    julia -e 'Pkg.init()'
    julia -e 'Pkg.add("IJulia")'
    
  3. kernelspec复制到/usr/local/share/jupyter/kernels/Jupyterhub添加的任何新用户都可以使用<{1}}:

    jupyter kernelspec list
    cd /usr/local/share/ && mkdir -p jupyter/kernels/
    cp -r /home/your-user-name/.local/share/jupyter/kernels/julia-0.4-your-julia-version /usr/local/share/jupyter/kernels/