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

wpk*_*kzz 5 install julia server

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

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

Gni*_*muc 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" 
Run Code Online (Sandbox Code Playgroud)

老邮政

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

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

为每个用户在系统范围内/全局安装软件包

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

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

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"
Run Code Online (Sandbox Code Playgroud)

如果您在其中任何一个目录下安装软件包,那么使用该Julia的每个人都会看到它们.一种方法是将julia作为用户export JULIA_PKGDIR=/opt/julia-0.3.3/usr/share/julia/site在shell中执行后写入这些目录.这样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/
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用包管理器安装"IJulia":

    julia -e 'Pkg.init()'
    julia -e 'Pkg.add("IJulia")'
    
    Run Code Online (Sandbox Code Playgroud)
  3. 复制kernelspecs /usr/local/share/jupyter/kernels/可由任何添加的新用户使用Jupyterhub:

    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/
    
    Run Code Online (Sandbox Code Playgroud)