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")

 

 



posted @ 2020-06-06 09:28  永远的幻想  阅读(2343)  评论(0编辑  收藏  举报