安裝及建置 Julia 開發環境實戰教學

James Huang
11 min readApr 12, 2019

--

使用 Jupyter Notebook, Atom IDE, JuliaBox 進行開發

Source: https://julialang.org/

寫在開始之前

本文說明的是在本機實體環境,手把手安裝及建置Julia開發環境的方法。若想要在3分鐘內使用Docker容器安裝及建置,歡迎參考「安裝及建置 Julia 開發環境實戰教學-Docker篇」。

Julia 簡介

Julia 是一個新生代的程式語言,專案最早是從 2009 年開始,並在早期就獲得 MIT Lincoln Laboratory 以及其他單位的贊助支持。

目前最新的穩定版本是在 2019 年 1 月推出的 1.1.0。

Julia 擁有眾多程式語言的特性與優點,號稱跟 Python 一樣易學,但擁有 C 的執行高效能。Julia 目前已經被大量使用在各個領域中,包括了現今熱門的資料科學。

更多的Julia 程式語言特性與優點,可以參考官網Wikipedia

Julia (Open Source)

下載

JuliaLang.org 提供的 open source Julia 可以從官網下載,選擇自己適合的版本點選下載。本文介紹將以 Windows 10 環境為主要範例。

進入 JuliaLang 官網 (https://julialang.org/) 首頁,可點 Download 連結進入下載頁面。

進入下載頁面後,依自己的作業系統版本,下載相對應的版本。以下範例以 Windows 10 64 位元版本為例,下載 64 位元版本的自我解壓縮安裝檔案。目前最新的穩定版本為 1.1.0 版,下載檔案大小約 50MB。

下載頁面也提供原始碼下載,也可以透過編譯原始碼的方式進行安裝。

安裝

Windows 安裝很簡單,執行安裝檔即可。

建議安裝完成後,在 Windows 環境變數下將 Julia 執行檔路徑 (e.g. D:\Julia-1.1.0\bin) 加到環境變數下,未來若要從命令提示字元下啟動 Julia 的話比較方便。

維持 Create Start Menu folder and shortcut 勾選。

多版本並存

Julia 可允許多版本 (包含 Julia 和 JuliaPro) 同時安裝在系統上,方便是在開發或研究時使用不同的版本及環境來運行,安裝套件時也會依所啟動的 Julia 版本,安裝在不同的路徑下,不會衝突。

以在 Windows 作業系統為例,環境資訊會存放在 c:\使用者\<登入帳號>\.julia 路徑下。在 environments 路徑下,可以看到本機安裝了兩個版本的 Julia。

不同版本的環境資訊,則記錄在 Manifest.toml 和 Project.toml 檔案中。

啟動

安裝完成後,可以透過下列三種方式啟動 Julia (以 Windows 為例):

  • 從開始選單
  • 從桌面捷徑 (若在安裝時有勾選要新增桌面捷徑)
  • 從命令提示字元

啟動進入 Julia REPL 命令列模式,輸入下列指令顯示系統資訊。

versioninfo()

macOS 安裝完成後,可以從應用程式中啟動。

Linux 版本的安裝,將編譯好的下載檔解壓縮,並建立 Symbolic Link (Optional) 即可執行啟動 Julia。

退出

輸入下列指令可退出 Julia REPL 命令提示字元,關閉視窗:

exit()

開發工具

Julia 程式的開發,基本上在任何文字編輯器上都可以進行,但是有好的工具輔助能讓開發工作事半功倍。

在 Julia 官網上提供了幾個推薦的開發工具。下面將簡單介紹如何建置 Julia 開發環境,以 Jupyter Notebook 和 Juno 為範例。

Source: https://julialang.org/

IJulia + Jupyter Notebook

下列說明是介紹在 Julia 環境下安裝 Jupyter。如果原先在電腦上就有在 Python 環境安裝 Jupyter,而且想要使用既有安裝版本的話,請參考下段說明 。

  1. 透過 Pkg (Package Management) 安裝 IJulia。
julia> using Pkg
julia> Pkg.add("IJulia")

2. 安裝完成後,透過 using 命令使用 IJulia。呼叫 notebook() 啟動 Jupyter Notebook。

julia> using IJulia
[ Info: Precompiling IJulia [7073ff75-c697-5162-941a-fcdaad2a7d2a]
julia> notebook()
install Jupyter via Conda, y/n? [y]:

在套件安裝完第一次使用時,套件都需要經過 precompile 的過程,需要花一些時間。但下一次使用時若版本相同、或是沒有重新 build,就不會再有 precompile 過程。

在這邊有一點要注意的地方是,第一次透過呼叫 notebook() 啟動 Jupyter Notebook 時,Julia 會詢問是否要透過 Conda 安裝 Jupyter,回答 y 的話,Conda 會在 Julia 環境下安裝新的 Jupyter。

將 IJulia 安裝在既有的 Jupyter 上

在安裝 IJulia 之前,必須先指定環境變數到既有安裝的 Jupyter 路徑 (e.g. D:\Python36\Scripts) 及執行檔。

ENV["JUPYTER"]="D:\\Python36\\Scripts\\jupyter.exe"

再執行安裝及開啟 Jupyter Notebook,就不需再安裝另一份 Jupyter 在 Julia 環境中。

julia> ENV["JUPYTER"]="D:\\Python36\\Scripts\\jupyter.exe"
"D:\\Python36\\Scripts\\jupyter.exe"
julia> using Pkg
julia> Pkg.add("IJulia")
julia> using IJulia
julia> notebook()

使用既有的 Jupyter,開啟時可以不需要再透過 REPL 開啟,可直接在命令提示字元下執行 jupyter notebook 指令開啟。

開啟 Notebook 檔案開發 Julia

選擇要開啟的 Julia Kernel,新增一個新的 Notebook 檔案。

測試 Julia 正常執行。

Atom IDE + Uber Juno

另一個推薦的 Julia 開發環境是在 Atom IDE 上安裝 Uber Juno 套件。Atom IDE 是一個免費開源、具備高度客製化特性的開發工具,也可從社群取得許多擴充功能。

  1. https://atom.io/ 下載並安裝 Atom IDE。
  2. 開啟 Atom 後,進入Settings。

3. 點 +Install,輸入 Juno 搜尋,搜尋到 uber-juno 並安裝。

更多有關 Juno 的介紹可參考官網 http://junolab.org/

4. 安裝成功後啟動 Atom IDE 整合開發環境,可在 Atom 環境下進行開發、執行、除錯、管理專案等功能。

Julia Computing 的 JuliaPro

Source: https://cdn-images-1.medium.com/max/1600/1*auqtYvR9yfL7qZRvMWHjlw.png

Julia 幾位作者在 2015 年成立了 Julia Computing,提供 JuliaPro 版本。與 open source Julia 不同的地方在於,JuliaPro 提供免費及付費版本,付費版本並提供企業技術支援服務,並內建安裝 JuliaPro 所支援的套件 (包含 Juno),以及其他進階的功能。

Source: https://juliacomputing.com/products/juliapro.html#juliapackages

下載及安裝

  1. 從 JuliaPro 產品網頁 https://juliacomputing.com/products/juliapro.html 進入下載。目前穩定版本為 1.0.3.1。
  2. 要下載 JuliaPro,必須要有 Julia Computing 帳號,如果是第一次造訪,可先申請帳號後登入。登入提供 4 種不同的方式選擇。

3. 下載後進行安裝,JuliaPro 預設的套件伺服器為 Julia Computing 所提供,並且會同時一併安裝支援套件,所以整個安裝後的空間相當大,約佔 970MB。

4. 安裝後會自動在桌面上建立捷徑,點擊開啟,JuliaPro 會載入隨附安裝的 Atom + Juno 開發環境。

網路上有使用者反應, JuliaPro 1.0 後的版本,在效能上大幅落後 open source Julia,所以目前建議若非有付費功能需求,使用開源的版本是比較好的選擇,在版本的更新上也會比較快。

JuliaBox: 在雲端執行 Julia

JuliaBox 是 Julia Computing 提供的雲端服務,有免費和付費計劃可選擇。

免費和付費的差異在於可使用資源的多寡,還有就是未來付費版本將會提供 GPU 做為運算加速資源。詳細資費及資源比較可參考 https://juliabox.com/ 網頁資訊。

  1. 使用 JuliaBox 需使用 Julia Computing 帳號登入,如果是第一次造訪,可先申請帳號後登入。
  2. 登入成功後,可以 Launch 新的 Notebook。

2. Customize 可調整要使用的 CPU RAM 等資源。

3. Launch 進入 Notebook 後,操作介面跟本機的 Jupyter Notebook 相同,也可以選擇不同版本的 Julia Kernel。

結語

Julia 的安裝,以及開發環境的設定難度不高,但是若要建構一個符合 production 需求的環境仍需要詳細規劃多版本的管理、套件安裝及版本管理 (Package Management)、開發環境管理等議題。在下一篇分享中,將為大家深入介紹 Julia 的套件管理。

想要用更進階的方式建置環境嗎?記得還可以用Docker來快速達成。

--

--