Julia语言是跨平台的,能够在Windows、Linux、MacOS等环境中工作,不久还会增加对ARM、AARCH64和POWER8等平台的正式支持。我们可以从其官方网站中直接下载编译好的二进制安装包,也可以下载源代码在本机的环境中重新编译。不过建议使用提供的可执行程序安装Julia程序环境,除非非常熟悉C++代码的编译过程。
Julia官方为Windows、MacOS、Linux及FreeBSD几个最常见的平台提供了已经编译好的可直接执行的安装程序,除了MacOS只提供64bit版本外,其他都有64位和32位版,可通过官方页面https://julialang.org/downloads进行下载。安装文件的都不大,30~70MB左右,不像微软各种东西,动辄就上G。二进制的安装方式能让我们不用操心各种依赖与复杂的编译过程,安装完毕即可轻松开始使用。
Julia支持Windows 7/ Windows Server 2012及更新的操作系统,所以最好不要在Windows 2000或Windows XP这些太老的系统中尝试,不确定会发生什么问题。
32位版本的Julia可运行在32位(x86)或64位(x86_64)的操作系统中,但64位版本只能运行在64位的Windows系统中。在Windows上安装Julia极为简单,将exe安装包下载后,双击文件然后按照引导一步步执行既可。
需要说明的是,对于Windows 7或Windows Server 2012系统,需要额外安装以下两个工具:
若要卸载Julia,只需直接将Julia的安装目录以及工作目录(一般为%HOME%/.julia路径)直接删除,并将%HOME%/.juliarc.jl和%HOME%/.julia_history两个文件同时删除即可。
Julia支持MacOS 10.8及更新的发行版本,提供的二进制安装包是一个扩展名为dmg的可执行程序,包含了Julia.app目录,可以直接打开执行。
除了二进制安装包,MacOS还可以使用HomeBrew安装Julia环境,执行语句如下:
$ brew update
$ brew tap staticfloat/julia
$ brew install julia
或者采用cask的方式,即:
$ brew cask install julia
在安装完成后,在系统终端中执行
$ julia
即可启动Julia环境。
如果要卸载Julia,只需移除Julia.app目录及~/.julia工作目录,如果不再需要配置文件,可将~/.juliarc.jl文件同时删除即可。
除了FreeBSD外,Julia还支持的多种Linux发行版本,包括Fedora、RHEL、CentOS、Scientific Linux、Oracle Enterprise Linux、Ubuntu、Debian、openSUSE及Arch Linux等。下载官方通用的tar.gz格式二进制包后,安装并没有特别的执行步骤,解压后便可执行。为了后续的方便,最好是将执行目录添加到系统环境变量中,简单的办法是在/usr/local/bin或/usr/bin目录中建立安装目录中bin/julia可执行文件的软链接(symbolic link),语句一般为:
$ sudo ln -s /bin/julia /usr/local/bin/julia
此后便可无需切换到安装目录或输入完整的路径来执行Julia主程序。
实际上,对于Linux及FreeBSD来说,通过其中的包管理命令安装Julia可能更为方便,而且也能够更便捷地对Julia进行更新。
对于使用RHEL、CentOS、Scientific Linux及Oracle Enterprise Linux(版本5或更高)的用户来说,需要开启操作系统的EPEL(Extra Packages for Enterprise Linux)支持,然后便可与Fedora(版本19或更高)一样,执行下述安装命令:
$ sudo dnf copr enable nalimilan/julia
$ sudo yum install julia
如果使用的是CentOS 7或更高版本,也可直接执行:
$ sudo yum-config-manager --add-repo https://copr.fedorainfracloud.org/coprs/nalimilan/julia/repo/epel-7 /nalimilan-julia-epel-7.repo
$ sudo yum install julia
若发行版中没有dnf与yum-config-manager,需在Copr网站中下载相关的.repo文件,复制到系统的/etc/yum.repos源管理目录,再次尝试执行安装过程。
每日构建(Nightly Building)是一些系统或程序通常采用的更新方式,如果需要及时跟踪Julia的最新功能,可以通过yum对已经安装的Julia程序进行更新。首先,执行:
$ sudo dnf copr enable nalimilan/julia-nightlies
开启每日更新版本库,执行以下命令时:
$ sudo yum install julia
安装的Julia将是Nightly的最新版本。之后,如果需要更新版本,执行以下命令即可:
$ sudo yum upgrade julia
不过,由于每日构建版本一般是开发过程的每日快照,有些功能后期仍存在修正调整的可能,测试也并不充分,容易存在各种Bug,所以对于普通的使用者来说,使用Nightly版本时还需要谨慎。
对于Ubuntu发行版,采用的是apt包管理器,在发布的最新版本中可通过apt-get命令直接进行安装,相关的包文件包括cantor-backend-julia、julia-common、julia-dbg、julia-doc及libjulia-dev、libjulia0.6等。如果要及时获得Julia的最新开发版本,可以添加Nightly的源,命令如下:
$ sudo add-apt-repository ppa:staticfloat/julianightlies
$ sudo add-apt-repository ppa:staticfloat/julia-deps
$ sudo apt-get update
然后执行安装程序或在需要时执行升级命令。
在FreeBSD系统中同样简单,可通过Ports Collection直接安装Julia程序,执行的安装命令为:
pkg install julia
如果不再需要Linux或FreeBSD中已经安装的Julia程序,卸载的方式取决于安装的方式。通过apt-get或yum安装时,执行apt-get remove julia或yum remove julia即可。如果二进制下载的方式,移除解压的目录并删除~/.julia目录及~/.juliarc.jl配置文件。
如果想通过源码编译的方式安装Julia程序,在确定这么做之前,我们先了解一下Julia代码所依赖的第三方库,详细如下:
这些众多的依赖库会在编译时自动下载,并优先编译。此过程能否顺利,与系统环境、编译环境等都有关系。此外,在编译时,还需要多种编译工具的支持,包括:
除了要做上述这些诸多的环境准备,还需对一些选项进行恰当的配置。而且,对于Windows平台,还需要安装Cygwin环境及其中的MinGW-w64编译器工具链。
可见,从源码编译Julia程序并不会是一件轻松愉快的事情,难免会遇到各种问题。所以笔者认为,除非开发需要,例如需要进行平台移植或其他特定情况,最好不要选择编译的方式。因篇幅所限,关于各个平台上的编译过程,本书不做过多赘述,有兴趣的可参见官方资料。
------- 节选自本人新书内容:魏坤著《Julia语言程序设计》,机械工业华章图文出版。