目录

Julia离线安装第三方包

misaraty 更新 | 2022-01-28
前言
Julia如何在离线集群环境下安装Packages呢?

为何离线安装

  • Python有很方便的第三方库集成Anaconda,离线安装第三方包时依赖也容易通过Conda或Pip解决。

  • Julia早前有类似的JuliaPro,后来JuliaPro v1.5合并到puma就不再发布了。虽然JuliaPro也集成了一些第三方包,但包的数量不多且离线安装困难。

如何安装

目前,集群离线安装Julia第三方包最合理的方法:

  1. 本地Windows10通过VMware安装相同版本号的Linux系统。
  • 查询集群Linux版本号,
1
2
3
[misaraty@master ~]$ cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
pause>nul
1
2
[misaraty@mgm01 soft]$ cat /etc/redhat-release
CentOS release 6.2 (Final)
  • 查询Julia库文件依赖GCC的版本号,
1
2
3
[misaraty@master lib]$ strings -a libjulia.so | grep "GCC"
GCC: (GNU) 4.4.7 20120313 (Red Hat 4.4.7-23)
GCC: (GNU) 7.3.0
  • 下载CentOS-7-x86_64-Minimal-1708

  • Windows10下安装虚拟机VMware-workstation-full-16.2.1-18811642虚拟机设置网络适配器默认NAT即可,虚拟机设置显示缩放比例拉伸模式自由拉伸。user权限设置密码,也可以后续通过passwd misaraty来修改。1

  1. 在虚拟机中修改环境变量JULIA_DEPOT_PATH,以user身份安装第三方包。
1
2
3
# julia
export PATH=$PATH:/home/misaraty/soft/julia-1.6.4/bin
export JULIA_DEPOT_PATH="/home/misaraty/soft/julia-1.6.4/.julia"

JULIA_DEPOT_PATH是Julia第三方包安装的位置,默认位置是user/.julia,不利于整体转移Julia包于集群中,所以修改为Julia目录。

  1. 复制整个Julia文件夹到Linux集群中。
警告
以root身份复制,使用Julia时会报文件权限的错误。
  1. 测试。
  • 查询包的安装位置,
1
2
3
4
5
using Pkg
Pkg.add("Gadfly")
using Gadfly

Pkg.dir("Gadfly")
  • 显示Julia已安装所有包,
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
julia> Pkg.status()
      Status `~/soft/julia-1.6.4/.julia/environments/v1.6/Project.toml`
  [05287f9a] CarrierCapture v0.1.0 `https://github.com/Crazy-Rookie/CarrierCapture.jl#master`
  [a93c6f00] DataFrames v1.2.2
  [0c46a032] DifferentialEquations v6.20.0
  [587475ba] Flux v0.12.8
  [c91e804a] Gadfly v1.3.4
  [ea4f424c] Gen v0.4.4
  [4076af6c] JuMP v0.21.10
  [1902f260] Knet v1.4.9
  [add582a8] MLJ v0.16.11
  [91a5bcdd] Plots v1.24.2
  [438e738f] PyCall v1.92.5
  [fce5fe82] Turing v0.19.0
  • 显示Julia环境变量,
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
julia> versioninfo()
Julia Version 1.6.4
Commit 35f0c911f4 (2021-11-19 03:54 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Xeon(R) Silver 4210 CPU @ 2.20GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-11.0.1 (ORCJIT, cascadelake)
Environment:
  JULIA_DEPOT_PATH = /home/misaraty/soft/julia-1.6.4/.julia

  1. VMware安装CentOS ↩︎