使用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(沒有必要一定安裝到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 的介面
啟動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的開發環境如下