install julia with python
julia做科学计算不错,号称比C 和Fortran都快,语法有matlab和lisp风,也非常容易写。
julia和python交互很方便。所以用julia实现算法。用python做工程+胶水。
一、安装julia
安装的官方方法:
以官方发布的二进制为主. 官网居然没有直接给出源码编译安装的方式。果然偏科学计算学者,而不是开发者
国内镜像(北外??? 为啥这里搞这个) https://mirrors.bfsu.edu.cn/julia-releases/bin/
官网 https://julialang.org/downloads/
1.1windows
下载二进制安装包。
https://julialang-s3.julialang.org/bin/winnt/x64/1.4/julia-1.4.2-win64.exe
用迅雷速度很快。
然后安装完了,建议在命令行试试,可能要手动设置一下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版。 不能忍
只能下载二进制安装包,
https://julialang-s3.julialang.org/bin/linux/x64/1.4/julia-1.4.2-linux-x86_64.tar.gz
s3在国内下载很慢,只能忍了。
然后手动在profile里 export
在shell里可以启动REPL环境,说明julia本身安装好了。
二、julia库配置使用国内镜像
这步在国内几乎必须,不然安装下面的pyCall都慢死。
参考https://discourse.juliacn.com/t/topic/2969
1.4以后的版本只需要设置环境变量就可以了
参考 https://mirrors.bfsu.edu.cn/help/julia/
设置环境变量
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端都安装配置一下
https://pyjulia.readthedocs.io/en/latest/installation.html
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
function add(a, b) return a + b end
caller.py
from julia import Main as jl jl.include("mylib.jl") if __name__ == '__main__': res = jl.add(1, 1) print(res)
经过好几秒,能显示出2 就说明成功了-_- 主要是julia启动环境和编译JIT都需要时间
#-----------附录: 备用的流程------------
用pill.py脚本一键安装管理julia
参考https://mirrors.bfsu.edu.cn/help/julia-releases/
pip install jill --user -U
python -m jill install --upstream BFSU
然而实测安装速度慢的要死,还不如用迅雷拖二进制下来,安装快。。。
国内源
1.4之前的版本才需要下面这么搞
参考https://zhuanlan.zhihu.com/p/79913766
设置 repository
从国内而不是从github 刷新目录
julia的REPL下:
输入] 提示符变成pkg 进入包管理模式
registry add https://mirrors.ustc.edu.cn/julia/registries/General.git/
如果等半天还是没反应,参考https://www.jianshu.com/p/cf68c9cb28e6
删除
C:\Users\XXX\.julia\registries
再次运行上面的。反正还是要等半天,才Fetch 100%
安装PkgMirrors
using Pkg
Pkg.add("PkgMirrors")
3. 指定国内镜像
using PkgMirrors
PkgMirrors.setmirror("ZJU")