Server 在Julia上全局安装一个软件包
我有一个新的Julia安装在一台机器上,我想用它作为实验室中不同人员的数字处理服务器。似乎有一个叫做jupyterhub的很好的软件包,它使Jupyter笔记本界面可以同时供不同的客户机使用。一个我再也找不到的网页开始建议“首先在全球范围内安装IJulia,然后安装JupyterHub…” 我似乎找不到一个全局安装一个软件包的好方法。Update 在Julia-v0.7+中,我们需要使用Server 在Julia上全局安装一个软件包,server,installation,julia,Server,Installation,Julia,我有一个新的Julia安装在一台机器上,我想用它作为实验室中不同人员的数字处理服务器。似乎有一个叫做jupyterhub的很好的软件包,它使Jupyter笔记本界面可以同时供不同的客户机使用。一个我再也找不到的网页开始建议“首先在全球范围内安装IJulia,然后安装JupyterHub…” 我似乎找不到一个全局安装一个软件包的好方法。Update 在Julia-v0.7+中,我们需要使用Julia_DEPOT_路径而不是Julia_PKGDIR,并且LOAD_路径如下所示: julia>
Julia_DEPOT_路径
而不是Julia_PKGDIR
,并且LOAD_路径
如下所示:
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…”
我不知道这是不是真的,通过以下步骤,您可以在安装Jupyterhub
后安装IJulia
为每个用户在系统范围/全局范围内安装软件包
斯特凡·卡尔平斯基已经回答了这个问题。因此,我们需要的只是使用此方法安装IJulia.jl
包
有一个名为LOAD_PATH的Julia变量,它被安排指向Julia安装下的两个系统目录。例如:
如果您在这两个目录中的任何一个下安装软件包,那么使用该目录的每个人都将看到它们。一种方法是以用户的身份运行julia,用户可以在shell中执行导出julia_PKGDIR=/opt/julia-0.3.3/usr/share/julia/site后写入这些目录。这样,Julia将使用它作为包目录,而普通的包命令将允许您为每个人安装包
让IJulia与Jupyterhub合作
为了让IJulia
和Jupyterhub
为所有用户相互协作,您应该将文件夹your/user/.local/share/jupyter/kernels/julia/
复制到/usr/local/share/jupyter/kernels/
。我写下我在测试中使用的一些步骤。代码很难看,但它可以工作
步骤:(成功安装Jupyterhub后)
请注意,您应该作为root用户执行以下步骤,我假设您的julia是全局安装在/opt/julia_0.4.0/
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/
julia -e 'Pkg.init()'
julia -e 'Pkg.add("IJulia")'
kernelspec
s复制到/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/
从jupyterhub的第91行开始,没有什么特别的,只需运行
julia-e'Pkg.add(“IJulia”)
No,这不起作用。它只为发出命令的用户安装。我想要一个IJulia安装,而不是每个用户都必须自己做。Julia是全球安装的allready,这很容易。但我并没有找到一种方法来为一个包实现这一点,特别是这个包必须与jupyter/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/