Skip to content

搞英语 → 看世界

翻译英文优质信息和名人推特

Menu
  • 首页
  • 作者列表
  • 独立博客
  • 专业媒体
  • 名人推特
  • 邮件列表
  • 关于本站
Menu

五分钟到茱莉亚

Posted on 2023-01-23

五分钟到茱莉亚

本文包含附属链接。有关更多信息,请参阅我的关联披露。

想要快速启动并运行 Julia 吗?

本指南将引导您逐步设置专业的 Julia 开发环境。您将学习如何:

  • 使用juliaup安装 Julia。
  • 设置 Julia VS 代码扩展。
  • 使用通用开发工具创建共享开发环境。
  • 编写一个startup.jl文件以在每次 Julia 启动时自动加载共享环境。

打开你的终端,让我们开始吧。


使用juliaup安装 Julia

您可以从 julialang.org 下载 Julia 二进制文件,但这很无聊。

所有酷孩子都使用juliaup ,这是一个受rustup项目启发的 Julia“版本多路复用器”。使用juliaup ,您可以安装多个 Julia 版本并从命令行在它们之间切换。当新的 Julia 版本可用时,它甚至会在您的终端中通知您。

要安装juliaup ,请执行以下与您的操作系统相对应的命令:

macOS/Linux:

 curl -fsSL https://install.julialang.org | sh

视窗:

 winget install julia -s msstore

运行juliaup status查看juliaup安装的每个 Julia 版本。已安装最新版本:

 $ juliaup status Default Channel Version Update ---------------------------------------------------------- * release 1.8.5+0.aarch64.apple.darwin14

您可以从 GitHub 上的项目自述文件了解有关juliaup的更多信息。


设置 Julia VS 代码扩展

您可以将 Julia 与您喜欢的代码编辑器一起使用。但如果你想要 IDE 体验,最好的选择是VS Code 。 juliaup背后的同一批人维护着一个Julia VS Code 扩展,其中包含几个有用的特性。

下载并安装 VS Code(如果尚未安装)。然后,打开 VS Code 并单击活动栏中的扩展选项卡:

五分钟到茱莉亚

在搜索栏中输入julia 。第一个结果应该是官方的 Julia 扩展,由一个名为 julialang 的经过验证的帐户发布:

五分钟到茱莉亚

单击“安装”以安装扩展:

五分钟到茱莉亚

除非您使用juliaup更改了 Julia 安装的位置——本指南未涵盖的内容——该扩展将自动找到 Julia。

要对此进行测试,请在计算机上的某个位置创建一个hello_world.jl文件,使用 VS Code 打开它,添加行print("Hello, world")并保存文件,然后按右上角的播放按钮窗户:

五分钟到茱莉亚

VS Code 执行脚本并在编辑器窗口底部的新 Julia REPL 窗口中显示输出。

☝️
注意:如果 VS Code 找不到 Julia,您可能需要通过更改julia.executablePath设置将其指向正确的安装位置。有关详细信息,请参阅Julia VS Code 扩展文档。

Julia VS Code 扩展提供了语言支持、Intellisense、linting 和格式化工具,以及您投入第一个 Julia 项目所需的一切。


高级:创建共享开发环境

Julia 生态系统有一些出色的开发人员生产力工具,包括:

  • Revise.jl用于在不重新启动 Julia 的情况下使用来自 REPL 的代码更改。
  • OhMyREPL.jl用于 REPL 语法高亮和括号匹配。
  • 用于性能跟踪和基准分析的BenchmarkTools.jl 。

这三个包将 Julia REPL 变成了一个简单但功能强大的开发环境。如果您无论从事哪个项目都可以访问这些工具,那就太好了。感谢 Julia 对堆叠环境的支持,您可以做到。

首先在某处为开发工具环境创建一个新目录。我将我的保存在名为~/.julia-environments/tools/的文件夹中。然后cd进入这个目录并运行 Julia:

 $ mkdir -p ~/.julia-environments/tools $ cd ~/.julia-environments/tools $ julia

REPL启动后,按]进入包管理器模式:

 julia> ] (@v1.8) pkg>

pkg>左侧的(@v1.8)表示 Julia 1.8 版的基础(或全局)环境当前处于活动状态。您可能会看到不同的版本号。

☝️
注意:由于 Julia 的默认环境加载过程,您可以在全局环境中安装包,并自动在每个项目中访问它们。

我不这样做有两个原因:

1. 多年的 Python 编程使我习惯于避免全局环境。

2. Julia 的全局环境位于~/.julia/environments/中,由 Julia 自己管理。我希望我的工具环境位于某个我知道它不会突然改变的地方(并且我可以进行版本控制)。

通过执行activate .在 REPL 中:

 (@v1.8) pkg> activate . Activating new project at `~/.julia-enironments/tools` (tools) pkg>

使用add命令安装Revise 、 OhMyREPL和BenchmarkTools包:

 (tools) pkg> add Revise OhMyREPL BenchmarkTools Updating registry at `~/.julia/registries/General.toml` Resolving package versions... Updating `~/.julia-enironments/tools/Project.toml` [6e4b80f9] + BenchmarkTools v1.3.2 [5fb14364] + OhMyREPL v0.5.13 [295af30f] + Revise v3.5.0 Updating `~/.julia-enironments/tools/Manifest.toml` [6e4b80f9] + BenchmarkTools v1.3.2 [da1fd8a2] + CodeTracking v1.2.0 [a8cc5b0e] + Crayons v4.1.1 ... (output truncated) (tools) pkg>

在~/.julia-environment/tools/目录中创建了两个文件:

  • Project.toml 包含您使用add命令安装的三个包的名称和哈希值。
  • Manifest.toml 描述了Project.toml中包的完全解析的依赖关系图。

~/.julia-environments/tools/目录与Project.toml和Manifest.toml文件一起正式定义了 Julia环境。但是每次要使用它时都必须显式激活环境。

让我们改变它。


进阶:写一个startup.jl文件

按 Ctrl + D 关闭 Julia REPL。然后,进入~/.julia/ cd 。 ~/.julia/是在使用juliaup安装 Julia 时自动创建的。它包含全局环境、包注册表、日志和配置文件等内容。

创建一个包含以下内容的文件~/.julia/config/startup.jl (感谢 Tim Holy 在Revise.jl 文档中包含用于在startup.jl中加载包的模板):

 # ~/.julia/config/startup.jl # Stack the tools environment on top of the currently active environment. # See: https://docs.julialang.org/en/v1/manual/environment-variables/#JULIA_LOAD_PATH # Remove the line below if you installed tools in your global environment push!(LOAD_PATH, Base.Filesystem.homedir() * "/.julia-environments/tools/") # Import the tools, or display a warning if something goes wrong try @eval using OhMyREPL catch e @warn "Error initializing OhMyREPL" exception=(e, catch_backtrace()) end try @eval using Revise catch e @warn "Error initializing Revise" exception=(e, catch_backtrace()) end try @eval using BenchmarkTools catch e @warn "Error initializing BenchmarkTools" exception=(e, catch_backtrace()) end
☝️
注意:您可能需要在全新安装的 Julia 上创建~/.julia/config/目录。

现在,每次启动 Julia——甚至是从 VS Code——时, Revise 、 OhMyREPL和BenchmarkTools都会自动加载到活动环境之上,与其他依赖项隔离,而无需在每个项目中安装和导入它们。

如果你问我的话,那真是太好了!


其他startup.jl包

这里有一些其他方便的包,可以考虑在您的工具环境中安装并导入到您的startup.jl文件中:

  • JuliaFormatter.jl用于自动格式化您的代码。
  • PkgTemplates.jl用于快速构建新的 Julia 包。
  • Term.jl用于改进日志记录、错误和 repr 样式。
  • AbbreviatedStackTraces.jl用于改进堆栈跟踪。

并且不要错过 Julia Discourse 上这个长期运行的线程以及startup.jl的许多其他用例。


深入挖掘

如果您有兴趣开始使用 Julia 进行数据分析,我极力推荐 Bogumił Kamiński 的书Julia For Data Analysis 。对于我见过的有经验的程序员来说,它也是对 Julia 最好的介绍之一。

从Manning获得即时访问权限。 Amazon提供 Kindle 版本。

五分钟到茱莉亚

▶️
了解更多信息:我在 Talk Julia 播客中就 2022 年的Julia 数据分析采访了 Bogumił。在这里观看视频 →

想要更多这样的东西吗?

每周六一封电子邮件,附上一条可行的提示。
总是少于 5 分钟的时间。

现在订阅

正在处理您的申请检查您的收件箱并确认您的订阅发送电子邮件时出错

原文: https://davidamos.dev/five-minutes-to-julia/

本站文章系自动翻译,站长会周期检查,如果有不当内容,请点此留言,非常感谢。
  • Abhinav
  • Abigail Pain
  • Adam Fortuna
  • Alberto Gallego
  • Alex Wlchan
  • Answer.AI
  • Arne Bahlo
  • Ben Carlson
  • Ben Kuhn
  • Bert Hubert
  • Bits about Money
  • Brian Krebs
  • ByteByteGo
  • Chip Huyen
  • Chips and Cheese
  • Christopher Butler
  • Colin Percival
  • Cool Infographics
  • Dan Sinker
  • David Walsh
  • Dmitry Dolzhenko
  • Dustin Curtis
  • Elad Gil
  • Ellie Huxtable
  • Ethan Marcotte
  • Exponential View
  • FAIL Blog
  • Founder Weekly
  • Geoffrey Huntley
  • Geoffrey Litt
  • Greg Mankiw
  • Henrique Dias
  • Hypercritical
  • IEEE Spectrum
  • Investment Talk
  • Jaz
  • Jeff Geerling
  • Jonas Hietala
  • Josh Comeau
  • Lenny Rachitsky
  • Liz Danzico
  • Lou Plummer
  • Luke Wroblewski
  • Matt Baer
  • Matt Stoller
  • Matthias Endler
  • Mert Bulan
  • Mostly metrics
  • News Letter
  • NextDraft
  • Non_Interactive
  • Not Boring
  • One Useful Thing
  • Phil Eaton
  • Product Market Fit
  • Readwise
  • ReedyBear
  • Robert Heaton
  • Ruben Schade
  • Sage Economics
  • Sam Altman
  • Sam Rose
  • selfh.st
  • Shtetl-Optimized
  • Simon schreibt
  • Slashdot
  • Small Good Things
  • Taylor Troesh
  • Telegram Blog
  • The Macro Compass
  • The Pomp Letter
  • thesephist
  • Thinking Deep & Wide
  • Tim Kellogg
  • Understanding AI
  • 英文媒体
  • 英文推特
  • 英文独立博客
©2025 搞英语 → 看世界 | Design: Newspaperly WordPress Theme