1. 程式人生 > >使用Anaconda搭建Julia Notebook開發環境

使用Anaconda搭建Julia Notebook開發環境

本文主要介紹如何使用Anaconda來構建Julia1.0的開發環境

Anaconda簡介

Anaconda是Python的一個開源發行版本,主要面向科學計算。Anaconda包括Conda、Python以及一大堆安裝好的工具包,比如:Python,numpy、pandas,等180多個科學包及其依賴項。此外Anaconda還自帶Spyder IDE 和Jupyter Notebook。

因其包含了大量的科學包,Anaconda 的下載檔案比較大(約 531 MB),如果只需要某些包,或者需要節省頻寬或儲存空間,也可以使用Miniconda這個較小的發行版(僅包含conda和 Python)。

Miniconda包括Conda、Python

Conda

Conda是一個開源的包、環境管理器,可以用於在同一個機器上安裝不同版本的軟體包及其依賴,並能夠在不同的環境之間切換。
常見conda命令有
conda clean
conda config
conda create
conda help
conda info
conda install
conda list #羅列出所有已安裝的科學包及其依賴項
conda package
conda remove
conda search
conda uninstall
conda update
conda upgrade

安裝步驟

下載

從官網下載:Download Anaconda Now!不過官網速度比較慢,不太推薦。
國內推薦從清華映象下載:Tsinghua Open Source Mirror 網址

清華Anaconda映象版本

安裝Anaconda

安裝很容易,下載到本地後之後直接執行安裝,anaconda預設安裝到當前使用者下 ~/anaconda(沒有必要一定安裝到root使用者下)

[email protected]:~/Downloads$ /bin/sh Anaconda3-5.2.0-Linux-x86_64.sh

然後按照提示安裝即可。建議把Anaconda路徑加入PATH,以便直接執行conda命令。

檢視Python 和 jupyter 版本號

[email protected]:~/Downloads$ which python 
/home/es/anaconda3/bin/python
[email protected]:~/Downloads$ python --version 
Python 3.6.5 :: Anaconda, Inc.
[email protected]:~/Downloads$ which jupyter
/home/es/anaconda3/bin/jupyter
[email protected]:~/Downloads$ jupyter --version 
4.4.0

執行Jupyter notebook

Anaconda自帶Jupyter notebook,可以執行如下命令啟動

[email protected]:~/Downloads$ jupyter notebook 
[I 22:54:31.132 NotebookApp] JupyterLab beta preview extension loaded from /home/es/anaconda3/lib/python3.6/site-packages/jupyterlab
[I 22:54:31.132 NotebookApp] JupyterLab application directory is /home/es/anaconda3/share/jupyter/lab
[I 22:54:31.172 NotebookApp] Serving notebooks from local directory: /home/es/Downloads
[I 22:54:31.172 NotebookApp] 0 active kernels
[I 22:54:31.172 NotebookApp] The Jupyter Notebook is running at:
[I 22:54:31.173 NotebookApp] http://localhost:8888/?token=f37dd73ce8ac87732539936f9827f51daf4e5c5ac79e2f9f
[I 22:54:31.173 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 22:54:31.178 NotebookApp] 

    Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
        http://localhost:8888/?token=f37dd73ce8ac87732539936f9827f51daf4e5c5ac79e2f9f&token=f37dd73ce8ac87732539936f9827f51daf4e5c5ac79e2f9f
main.go:99: openScheme: "http", "http://localhost:8888/tree?token=10480e42c03976bf92bcc364da468bae9ae0b340c09112bf"
main.go:108: desktop file: /usr/share/applications/google-chrome.desktop
[I 22:54:31.734 NotebookApp] Accepting one-time-token-authenticated connection from 127.0.0.1

如果瀏覽器沒有自動開啟,就訪問網址 http://localhost:8888/ 可以看到Jupyter notebook 的介面
Jupyter notebook

啟動julia並安裝IJulia包

IJulia 是Julia語言的後端核心,和IPython作用一樣。IJulia核心支援使用者在前端使用julia語言;IPython核心支援使用者在前端使用Python語言。 Jupyter的notebook非常強大,它提供了一個集程式碼編輯,Markdown文字,數學公式,圖形顯示於一體的互動環境,極大的方便了開發者使用Julia或者Python進行各種問題的研究,和原型開發。

注意:作者的Julia位於 ~/Code/julia/目錄下,是本地編譯出來的。關於如何本地編譯Julia 1.0請參看另外一篇文章。

步驟如下:
1. 啟動Julia REPL
2. 加入IJulia package
3. using IJulia
4. 呼叫 notebook 方法

[email protected]:~/Downloads$ cd ~/Code/julia/
[email protected]:~/Code/julia$ ./julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.0.0 (2018-08-08)
 _/ |\__'_|_|_|\__'_|  |  
|__/                   |

julia>【 注,這裡按 ] 可以進入 pkg> 模式 】

(v1.0) pkg> add IJulia
  Updating registry at `~/.julia/registries/General`
  Updating git-repo `https://github.com/JuliaRegistries/General.git`
 Resolving package versions...
 Installed ZMQ ───────────── v1.0.0
 Installed BinaryProvider ── v0.4.2
 Installed IJulia ────────── v1.11.1
 Installed MbedTLS ───────── v0.6.0
 Installed SoftGlobalScope ─ v1.0.5
  Updating `~/.julia/environments/v1.0/Project.toml`
  [7073ff75] + IJulia v1.11.1
  Updating `~/.julia/environments/v1.0/Manifest.toml`
  [b99e7846] + BinaryProvider v0.4.2
  [7073ff75] + IJulia v1.11.1
  [739be429] + MbedTLS v0.6.0
  [b85f4697] + SoftGlobalScope v1.0.5
  [c2297ded] + ZMQ v1.0.0
  [7b1f6079] + FileWatching 
  Building ZMQ ────→ `~/.julia/packages/ZMQ/ABGOx/deps/build.log`
  Building MbedTLS → `~/.julia/packages/MbedTLS/Qo8TN/deps/build.log`
  Building IJulia ─→ `~/.julia/packages/IJulia/k5o7j/deps/build.log`

(v1.0) pkg> ^C

julia> using IJulia
[ Info: Precompiling IJulia [7073ff75-c697-5162-941a-fcdaad2a7d2a]

julia> notebook
notebook (generic function with 1 method)

julia> notebook()

Julia/Jupyter的開發環境如下

Jupyter Julia notebook