Julia 语言入门指引

这个帖子里面大家都来贡献一些常见的问题帮助新手快速解决问题吧。

1. 安装

1.1 如何安装 Julia

1.1.1 二进制安装

1.1.2 源码安装

参考 https://github.com/JuliaLang/julia#building-julia (新手不推荐,编译大约需要40min,主要是编译 LLVM 比较慢,但可以使用 LLVMBuilder 来避免,请在 Make.user 里添加:

USE_BINARYBUILDER_LLVM=1
BINARYBUILDER_TRIPLET=x86_64-apple-darwin14 

注意上面的 x86_64-apple-darwin14, 请修改成你自己操作系统的 triplet。

1.1.3 Julia有没有类似 anaconda 的全家桶?

有,去 https://juliacomputing.com 注册下载 Julia Pro. 但是需要注意的是,Julia Pro 默认的下载源是 Julia Computing 的服务器,因此对于国内的网络环境来说,在大多数场景下使用 Julia + PkgServer 的方式装包时会更方便可靠一些。

1.1.4 我不想在电脑上安装,只想试试看

可以!参见 @vague 写的介绍 JuliaBox:一个对小白友好的在线 Jupyter Notebook 编辑器 :)

1.2 安装包

进入 REPL 之后,输入 ] 切换到 Pkg 管理模式,然后执行 add PackageName 安装即可:

1.2.2 怎么查看都有哪些包?

对于已经注册了的包,可以在 https://pkg.julialang.org/https://juliaobserver.com/ (群里反应这个更全一些)查看,对于没有注册的包,就只能去github上搜索了。

1.2.3 我被墙了怎么办?

2. 文档

2.1 怎样查找某个函数?

请使用REPL的help模式:在REPL里按 ?键,然后更详细的请参考:

关于几个Julia的新手 Mathematica重度玩家问题

2.2 怎么知道以前旧版本的某个函数被deprecated后,新的函数叫什么?

查看Julia代码仓库的HISTORY.md,用Ctrl+F搜一下就可以看到了,然后一般都有对应的issue,可以点进去详细查看。另外一个简单暴力的方法是,打开 Julia-v0.7 看 depwarns 的建议。

2.3 有没有 1.0 的 cheatsheet?

3. 其它

3.1 如何输入特殊字符

一些特殊字符使用LaTeX语法输入,比如约等于 ,输入方法是在支持Julia语言的编辑器或者REPL里面写 \approx 然后按 tab。有什么符号你可以查一下文档 Unicode 输入表 · Julia中文文档 然后,还可以参考这个帖子 Julia 内置的数学常量与 Unicode 字符输入

3.2 Julia能Web开发吗?

Web相关基础设施:

Framework(类似于Django/Flask):

http://genieframework.com

3.3 如何打包Julia/如何静态编译Julia脚本

可以查看 https://github.com/JuliaLang/PackageCompiler.jl

3.4 怎么做 Benchmark?

可以查看 julia中测试一段代码运行时间用什么命令?

3.5 为什么我的代码会出现 UndefVarError

很可能是变量的作用域问题,请先确保阅读并理解了 http://docs.juliacn.com/latest/manual/variables-and-scoping/#局部作用域-1 中的内容

注意:全局作用域(global scope)会略有不同,这体现为全局下的变量和for循环内部的变量不同

x = 1

for i in 1:10 
    x += 1  #这个 x 非上面的x,因为for循环是一个表达式,内部是局部作用域,而外面的x是一个全局变量
end

这个有时候确实造成了使用不便(但是语义上正确),正在讨论进行一次小的修改(不会导致breaking):https://discourse.julialang.org/t/new-scope-solution/16707/36

3.6 如何注册Package?

3.7 有没有中文的Julia视频教程?

4. Julia快吗?为什么我要用Julia?

@Roger 在知乎和掘金上写过一些文章:

https://juejin.im/post/5b75911af265da27fc07a256

也有机器之心后来的一篇报道可以参考:

https://juejin.im/post/5c7353d151882562e87653d8

5. 我的代码为什么比我原来的Python/MATLAB/etc. 还慢?

请仔细阅读文档中 性能建议(performance tips) 的部分。确保你没有出现其中列举的问题后如果性能依然不好,请在综合讨论区的性能优化分类下发帖提问。并且使用BenchmarkTools对程序进行性能测试,贴上你的测试结果。

注意

  1. 请不要问模棱两可的问题,尽量给出一个可以工作(或者会报错的代码),然后再提问,而不是简单的文字描述。请避免问 X-Y 问题(中文版)The XY Problem (英文版)
更新历史
  • 20200113 @woclass
    • 更新 1.1.1 百度云下载 对应的楼层地址
    • 更新 1.1.2 节源码安装 对应 md 的连接
    • 删除对 1.1.3 Julia Pro 过时的说明(未提供 1.0 版)
    • 更新 3.1 如何输入特殊字符 unicode 输入表连接为中文文档连接
    • 更新 2.3 cheatsheet 中文版连接;新增 Learn Julia in Y Minutes 中文版连接
    • 添加中文版 XY 问题连接
    • 新增更新历史
  • 20200618 @woclass
    • 添加 TOC
3赞

http://jupyter.org/try 提供了一个Julia 的在线环境,并用了一个 Plot 图让来访者快速体验执行的步骤与效果。如下图。
感觉速度比 juliabox 快一点。大家可结合自己的网络情况,选择尝试。

4赞

补充一下,还可以用官方的 mybinder.org 去运行别人的 (github) 上的 Jupyter notebooks

例如另一个置顶帖提到的 Julia 入门教程 binderhub

如果使用jupyterlab的话,还可以使用jupyterlab的github扩展,可以直接打开github中的notebook

2赞

入门视频教程有:
https://www.bilibili.com/video/av28178443?from=search&seid=6763161009311370417
里面车速较快但是有很多有用的操作
还有MIT的Julia Tutorial(我也是小白,暂时没看完,看见有10节课应该入门知识是比较全的)
https://www.bilibili.com/video/av29615055/?spm_id_from=333.788.videocard.9

Julia 各平台的安装程序下载分流

目前分流了 julia win/mac/linux 平台的安装包与对应的源代码包

更新历史
  • 20200113 链接更新,新增蓝奏云分流
  • 20200322 v1.4.0

实用工具

1赞

现在网易云课堂上有了Julia视频教程,比较完整,非常适合入门。在网易云课堂上直接搜索:“Julia教程”就可以看到,课程的名字叫:Julia教程 从入门到进阶
链接:https://study.163.com/course/courseMain.htm?share=2&shareId=480000001854445&courseId=1208959805&trace_c_p_k2=6cf880e4deb9497fb91f5f138e801ac3

4赞

A post was split to a new topic: Add IJulia 出错

Julia GitHub Groups

官网提供了按领域分组的Julia GitHub组的非全面列表
这个页面 Julia Community
三分之二左右位置开始


按照领域找相关的包会方便很多。(图上只是一部分)

juliabox版本太旧,而且快要关闭了。nextjournal提供了可以直接访问的julia jupyter notebook


可以免费使用最低配置,1CPU 3.75G RAM,不用科学上网。

我在那搜集了一些notebook类的东东。可以参考。

京ICP备17009874号-2