1 Julia简介及安装

2020-06-30 12:25:07 浏览数 (1)

Julia简介

历史

一群拥有各种语言丰富编程经验的Matlab高级用户,对现有的科学计算编程工具感到不满——这些软件对自己专长的领域表现得非常棒,但在其它领域却非常糟糕。他们想要的是一个开源的软件,它要像C语言一般快速而有拥有如同Ruby的动态性;要具有Lisp般真正的同像性而又有Matlab般熟悉的数学记号;要像Python般通用、像R般在统计分析上得心应手、像Perl般自然地处理字符串、像Matlab般具有强大的线性代数运算能力、像shell般胶水语言的能力,易于学习而又不让真正的黑客感到无聊;还有,它应该是交互式的,同时又是编译型的……

特点

  • 核心语言非常小。标准库用的是Julia语言本身写的
  • 调用许多其它成熟的高性能基础代码。如线性代数、随机数生成、快速傅里叶变换、字符串处理。
  • 丰富的用于创建或描述对象的类型语法
  • 高性能,接近于静态编译型语言。包括用户自定义类型等
  • 为并行计算和分布式计算而设计
  • 轻量级协程
  • 优雅的可扩展的类型转换/提升
  • 支持Unicode,包括但不限于UTF-8
  • 可直接调用C函数(不需要包装或是借助特殊的API)
  • 有类似shell的进程管理能力
  • 有类似Lisp的宏以及其它元编程工具

使用场景

主要用于科学计算

  • 机器学习
  • 数据处理
  • 算法仿真
  • 数值分析
  • etc

很多做算法的朋友应该都有这样的经历,在做一个项目时,先用Python/Matlab完成算法模型验证,再用其他编程语言(如C )来实现,而有了Julia,我们直接一步到位,模型验证和实现是一起的。

说明 本教程主要参考:

  • Julia
  • Mapt网站教程(收费的)
  • Julia社区
  • Julia中文社区

缺点

参考简书 每个语言都有优缺点,Julia的缺点在于:

  • 基于JIT(Just-in-time,即时编译器,启动有预热时间,不适合小规模、只运行一次的任务;
  • 新语言的生态还不够强,不适合调库党;
  • CLI(command-line interface,命令行界面)工具缺乏,不适合在终端(Terminal)开发,需要借助能够热重启(reload)和IDE开发。

这是Julia官网给出的各种语言之间的速度评测,C的速度为10^0。可以看出,Julia的运行时间基本是除了C之外最快的,有的算法甚至比C还要快。

安装Julia

Julia官网

现在已经出了1.0.3版本,直接现在安装即可,安装完成后打开julia,可看到如下的界面:

(Windows)

(MAC)

但我们写程序时如果只用REPL太蛋疼,调试也不方便,还需要Julia的运行工具:

下图是官方给出的Julia的Editor和IDE

在我们的教程中,会给出下面三种方式的安装教程:

  • Julia Pro(基于Atom,算是比较正式的IDE了)
  • Jupyter notebook
  • vscode的Julia插件

Julia Pro安装

官网 下载之后直接安装即可,Julia Pro安装的内容比较全,基本算是Julia的全家桶了,Jupyter、REPL和基于Atom的IDE都有,目前最新的也是v1.0.2。装完之后即可直接使用。

vscode Julia插件

在vscode中安装Julia插件和Code Runner插件,在User Settings中设置

代码语言:javascript复制
"julia.executablePath": "D:\MyProgramFile\Julia-1.0.0\bin\julia.exe"

完成Julia文件后,直接右键Run Code即可。 在MAC上的vscode上,还不支持Julia 1.0版本,因此还不能运行1.0的Julia。相信不久就会出来了,大家耐心等待。等出来了第一时间会在公众号“从数据分析到量化投资”里通知大家。

Jupyter note

  • 先安装Jupyter,对于已经安装过Anaconda的朋友来说,已经默认安装了jupyter
  • 运行Julia的REPL,按]键进入Pkg模式
  • 运行add IJulia,安装IJulia
  • 运行using IJulia,这时如果提示我们需要run Pkg.build("ZMQ")时,我们根据提示内容操作
  • 在julia模式下先导入Pkg,using Pkg,再运行Pkg.build("ZMQ"),这是时会自动下载安装GitHub上各种需要的文件,但经常会提示各种下载错误,需要我们根据提示的错误,找到相应的网址和文件,下载下来后放到提示的文件夹中,比如ZMQ.x86_64-w64-mingw32.tar.gz文件,放到~.juliapackagesZMQABGOxdepsusrdownloads目录(~是home目录,Windows上在C:UserUserName下,MAC上在UserUserName下),再次运行Pkg.build("ZMQ");如果提示不止"ZMQ"这一个package,我们只需要根据提示安装所有下载失败的文件即可。
  • 在安装过程中可能会提示需要安装Windows Management Framework 3.0以上版本,我们也找到最新的版本安装即可
  • 如果报的error中,需要运行Pkg.build("IJUlia"),那我们运行前要先把jupyter.exe添加进来,运行ENV["JUPYTER"]=“D:Anaconda3Scriptsjupyter.exe"
  • 没有error后,运行using IJulia
  • 运行IJulia.notebook()即可打开支持1.0版本的Jupyter notebook

还有另外一种解决方案就是解决“根”上的问题:加速访问GitHub的速度。

这里给大家提供一个csdn上的参考方案

GitHub下载速度加速

mac上刷新dns:

sudo dscacheutil -flushcache

sudo killall -HUP mDNSResponder

say DNS cache flushed

当听到语音说:dns cache flushed,说明成功刷新了

大家可以根据自己的情况,选择适合自己的方案。

0 人点赞