Julia 小白 Day 4: Juno IDE到底有什么好?

本方式收到部分童鞋反应不稳定等问题。可以参考本人最新的文章用更友好的方式使用Julia。
《在AnaConda中使用Julia》

前情提要:

  • 学会了安装Julia1.0.0(目前的最新版)
  • 学会了如何费劲的安装Juno IDE (Windows用户比较折腾,Mac用户则非常简单)
  • Julia版本之间的代码代际差异较大,建议往最新版本靠拢

既然那么折腾安装好了Juno IDE,肯定要介绍一下IDE的功能,否则费了劲到底是为什么?

一图胜千言,来看看Juno IDE上面有什么吧。

先来看看最左边的工具条上的那些图标是什么:

上面3个是代码文件操作区:

中间4个是功能窗口显示/关闭相关的

底下3个是运行控制相关的:

先来看看代码窗口:

当你运行完某一段/某一句代码,语句的后面会显示运行的结果:

  • 红色字的就是报错
  • 打勾的表示运行成功
  • 有具体内容的按">"号可以展开浮动窗看
  • 展开时候浮动窗上面有按钮(X左边那个按钮),可以按下之后扩大来看:

窗口之间有联动关系:

写程序的时候,如果忘记了语句的语法,可以实时进行语法查找。下图就是选择CSV.read按下鼠标右键,选择Show Documentation

Documentation窗口就会显示CSV.read的语法。

当然也可以直接在Documentation窗口的搜索框里直接查找语句语法。

如果调用了画图等语句,画出来的图表就会显示在Plots窗口

REPL窗口显示的就是Julia1.0.0命令行工具:

在这个窗口里,就是和单独打开命令行窗口一样操作Julia。

WorkSpace窗口:

示例里WorkSpace窗口和Documentation窗口共用了同一块显示区域,单独点开看看:

WorkSpace窗口显示的是到目前为止各种语句执行后留在当前内存环境里的各种“对象”(不要问我什么是“对象”,英文叫做"Object"),也就是程序猿经常被调侃的那句经典报错:“找不到对象”里的那个“对象”。

同样按下">"号(如果有)可以展开看“对象”的内容,上图显示的可展开的两个数据框(DataFrame)对象。

"Omitted printing of x columns"的意思是有x列数据不展示。也就是说不能看到全部内容,只能看到其中的一部分。

怎么形象的理解IDE:

Juno IDE 就是通过操控Julia命令行工具,扩展出其他的功能窗口,并做了许多方便用户的关联操作功能。

好了。今天的内容就到这里。

PS:

目前许多Julia程序包正在做升级维护,以匹配最新版本1.0.0:

以下是本次内容中可以直接安装在Julia1.0.0的程序包:

using Pkg # 0.7版本之后需要用 Pkg.add 的话需要先调用Pkg包,0.6版本之前不需要.

Pkg.add("DataFrames")
using DataFrames

Pkg.add("CSV")
using CSV

已知ScikitLearn程序包目前不兼容Julia 1.0.0(截至到2018-8-20),目前只兼容到Julia 0.7版本。

但是怪异的是ScikitLearnBase可以兼容1.0.0版本。(笔者还没去看这两个包的差异点在哪里)

[注]请大家注意,Pkg.add完之后一定要using一遍,因为Julia的机制是下载归下载,安装实际发生在首次调用的时候。

首次调用会进行预编译(PreCompile),如果在编译过程中报错说明这个程序包不适用于这个版本的Julia。

还有一个小小的提示:Julia语言是大小写敏感(Case Sensitive)的

如果大家在Github上找到一些牛人的程序包但是没有放在官方的镜像里面,可以进行以下操作:

using Pkg
Pkg.clone("https://github.com/dmlc/XGBoost.jl.git")
Pkg.build("XGBoost")

**以上只是操作示例。XGBoost目前也不兼容Julia1.0.0。

本方式收到部分童鞋反应不稳定等问题。可以参考本人最新的文章用更友好的方式使用Julia。
《在AnaConda中使用Julia》

KevinZhang

Aug 21, 2018

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 今天要给Julia1.0.0版安装Juno IDE。开始之前来回顾以下这几天的学习折腾路径: Julia1.0.0...
    _KevinZhang_阅读 2,165评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • 昨天 做了一个梦 梦里有你 当然 梦里也有我 你搭着我 骑着电瓶车 头发很香 为什么 是你搭着我 大概 我...
    吃饭的慢慢阅读 187评论 0 0
  • 诺宝今天和姥姥去打疫苗,这次打两针,打完呜呜哭了两声,就结束了。 这时另外一个小朋友在打针,那个小朋友两岁了,一打...
    家有小女爱美丽阅读 138评论 1 2
  • 平时自己对一些电影奖之类的并不关注,这次第88届奥斯卡奖大家讨论的实在太激烈,主要因为大家心中的男神小李子终于拿到...
    Tinathy阅读 284评论 0 1