julia做科学计算不错,号称比C 和Fortran都快,语法有matlab和lisp风,也非常容易写。
julia和python交互很方便。所以用julia实现算法。用python做工程+胶水。
一、安装julia
安装的官方方法:
以官方发布的二进制为主. 官网居然没有直接给出源码编译安装的方式。果然偏科学计算学者,而不是开发者
1.1windows
下载二进制安装包。
用迅雷速度很快。
然后安装完了,建议在命令行试试,可能要手动设置一下PATH
安装路径有点神出鬼没,1.4.2比1.3有调整,
C:\Users\XXX\AppData\Local\Programs\Julia\Julia-1.4.2\bin
1.2 Mint
无法apt,也不知道如何源码安装。用snap 只能安装1.0.4版。 不能忍
只能下载二进制安装包,
s3在国内下载很慢,只能忍了。
然后手动在profile里 export
在shell里可以启动REPL环境,说明julia本身安装好了。
二、julia库配置使用国内镜像
这步在国内几乎必须,不然安装下面的pyCall都慢死。
1.4以后的版本只需要设置环境变量就可以了
设置环境变量
JULIA_PKG_SERVER = https://mirrors.bfsu.edu.cn/julia/static
win下在高级系统设置-环境变量里添加
linux 改profile
export JULIA_PKG_SERVER=https://mirrors.bfsu.edu.cn/julia/static
然后在julia里
julia
versioninfo()
看到JULIA_PKG_SERVER那行,就说明OK了
三、配置与python互相调用
需要在python或julia任何1端都安装配置一下
2.1python
pip3.8 install --user julia
python3.8
>>> import julia
>>> julia.install()
这一步需要julia在PATH里,否则会报错
会去自动执行 下面的部分
2.2 Julia
julia> using Pkg
julia> Pkg.add("PyCall")
如果配好国内源的话,这步应该超快的。
四、 实验python调用julia函数
mylib.jl
functionadd(a, b)
return a+b
end
caller.py
from julia importMain as jl
jl.include("mylib.jl")if __name__ == '__main__':
res= jl.add(1, 1)print(res)
经过好几秒,能显示出2 就说明成功了-_- 主要是julia启动环境和编译JIT都需要时间
#-----------附录: 备用的流程------------
用pill.py脚本一键安装管理julia
pip install jill --user -U
python -m jill install --upstream BFSU
然而实测安装速度慢的要死,还不如用迅雷拖二进制下来,安装快。。。
国内源
1.4之前的版本才需要下面这么搞
设置 repository
从国内而不是从github 刷新目录
julia的REPL下:
输入] 提示符变成pkg 进入包管理模式
registry add https://mirrors.ustc.edu.cn/julia/registries/General.git/
删除
C:\Users\XXX\.julia\registries
再次运行上面的。反正还是要等半天,才Fetch 100%
安装PkgMirrors
using Pkg
Pkg.add("PkgMirrors")
3. 指定国内镜像
using PkgMirrors
PkgMirrors.setmirror("ZJU")