1. 程式人生 > >【Julia】Linux下配置Julia互動開發環境(Julia notebook)

【Julia】Linux下配置Julia互動開發環境(Julia notebook)

0x00 前言

近期Julia這門語言突然被拉入了大眾視野,我也是被一句 “Walk as Python,Run as C” 深深的吸引住了,
如果它沒有在吹牛,那麼這門語言說不定確實是我所想要的,那麼,學學看吧?

本篇文章主要用於介紹如何搭建便於學習與測試的REPL環境,先在Linux上試試水,
畢竟一旦Jupyter Notebook搭建起來之後,網頁版的互動式環境就已經可以不受作業系統限制了。

Julia?
+ 要像C語言一般快速而有擁有如同Ruby的動態性;
+ 要具有Lisp般真正的同像性(Homoiconicity)
+ 而又有Matlab般熟悉的數學記號;
+ 要像Python

般通用、
+ 像R般在統計分析上得心應手、
+ 像Perl般自然地處理字串、
+ 像Matlab般具有強大的線性代數運算能力、
+ 像shell般膠水語言的能力,易於學習而又不讓真正的黑客感到無聊;
+ 還有,它應該是互動式的,同時又是編譯型的……

ipykernel

emmmm,那還說啥呢,學學看唄(不就是配個環境麼,配起來!)

0x01 相關資料

0x02 配置過程

我的環境
Anaconda2下直接new了一個virtual env,叫做cd

  • Linux RedHat
  • Python 3.6
  • pip 18.0
  • jupyter notebook

Jupyter Notebook


一種可互動介面化變成的解決方案,Python和Julia的學習中比較推薦使用

  • 預先準備 notebook
(cd) [chend@c9 ~]$ pip install notebook
  • 如需使用 jupyterlab (功能更多,介面較好)
(cd) [chend@c9 ~]$ pip install jupyterlab
(cd) [chend@c9 ~]$ jupyter serverextension enable --py jupyterlab 

下載

  • 可以自己下載自己解壓,見 0x01 相關資料 中的官方主頁
wget https://julialang-s3.julialang
.org/bin/linux/x64/1.0/julia-1.0.0-linux-x86_64.tar.gz
  • 也可以直接去官方的 Github 上 git clone
git clone git://github.com/JuliaLang/julia.git
  • git clone 不下來的話需要繞過的,可以全域性替換一下變成ipv6通道
git config --global url."https://".insteadOf git://

獲取 cmake

編譯需要 cmake,如果沒有或者版本不對的話,可以進到剛才下載的目錄裡面 cd julia
使用自帶的 cmake 下載指令碼:

(cd) [chend@c9 julia]$ contrib/download_cmake.sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   479  100   479    0     0    227      0  0:00:02  0:00:02 --:--:--   429
  1 29.2M    1  492k    0     0   2443      0  3:29:18  0:03:26  3:25:52     0
curl: (28) Operation too slow. Less than 1 bytes/sec transferred the last 15 seconds
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 29.2M  100 29.2M    0     0   421k      0  0:01:11  0:01:11 --:--:--  450k

cmake-3.7.1-Linux-x86_64.tar.gz: OK

安裝

我這裡想要安裝剛 Release 的較為穩定的 v1.0.0版本,所以我先 git co到這個分支

git checkout v1.0.0

然後直接 make 就可以編譯了,但考慮到東西較多速度不夠快,也可以採取多執行緒編譯 make -j48

(cd) [[email protected] julia]$ make
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   465  100   465    0     0    180      0  0:00:02  0:00:02 --:--:--   476
  1 24.3M    1  288k    0     0   7013      0  1:00:45  0:00:42  1:00:03 10783

0x03 基本使用

在當前目錄下直接 ./julia 就可以調出類似 IPython 的互動式介面了

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

julia> 

如需在任何位置都可以直接呼叫 julia 命令,可以直接在 ~/.bashrc 中加入這行

echo "alias julia='/path/to/install/folder/bin/julia'" >> ~/.bashrc && source ~/.bashrc

例如我直接獲取目錄位置 pwd/home/chend/julia/,那麼我就輸入下面這行即可。

echo "alias julia='/home/chend/julia/julia'" >> ~/.bashrc && source ~/.bashrc

0x04 配置 Julia Notebook

我的除錯過程:

julia> using IJulia 
ERROR: ArgumentError: Package IJulia not found in current path:
- Run `Pkg.add("IJulia")` to install the IJulia package.

Stacktrace:
 [1] require(::Module, ::Symbol) at ./loading.jl:817

julia> Pkg.add("IJulia")
ERROR: UndefVarError: Pkg not defined
Stacktrace:
 [1] top-level scope at none:0

# Pkg not defined 錯誤處理
julia> using Pkg

# 再次嘗試呼叫 IJulia
julia> using IJulia
[ Info: Precompiling IJulia [7073ff75-c697-5162-941a-fcdaad2a7d2a]
ERROR: LoadError: Blosc not installed properly, run Pkg.build("ZMQ"), restart Julia and try again

# 錯誤處理
julia> Pkg.build("ZMQ")

# 再次嘗試呼叫 IJulia
julia> using IJulia
[ Info: Precompiling IJulia [7073ff75-c697-5162-941a-fcdaad2a7d2a]
ERROR: LoadError: MbedTLS not installed properly, run Pkg.build("MbedTLS"), restart Julia and try again

# 錯誤處理
julia> Pkg.build("MbedTLS")

# 再次嘗試呼叫 Ijulia
julia> using IJulia
[ Info: Precompiling IJulia [7073ff75-c697-5162-941a-fcdaad2a7d2a]
julia> notebook()

# 完成,直接開個瀏覽器看看 localhost:8888,如果自己設定過預設埠則改為你自己的埠。

interface

相關推薦

JuliaLinux配置Julia互動開發環境Julia notebook

0x00 前言 近期Julia這門語言突然被拉入了大眾視野,我也是被一句 “Walk as Python,Run as C” 深深的吸引住了, 如果它沒有在吹牛,那麼這門語言說不定確實是我所想要的,那麼,學學看吧? 本篇文章主要用於介紹如何搭建便於學習與測

Linux配置檔案讀取操作流程及其C程式碼實現

轉自:http://blog.csdn.net/zhouzhaoxiong1227/article/details/45563263#comments 一、概述 Linux具有免費、可靠、安全、穩定、多平臺等特點,因此深受廣大程式設計師的歡迎。 為了體現軟體產品的靈活性,可新增配置檔案存放某些重要的

Windows10Eclipse搭建Hadoop3開發環境

Windows10下Eclipse搭建Hadoop3開發環境 前言 由於筆記本配置限制,虛擬機器CentOs-7關閉了圖形介面,作者在Windows端編寫mapreduce程式然後在linux上執行。

Windows10配置大資料開發環境1

一 準備工作 如果安裝的Hadoop是3.1.1版本,應選擇jdk1.8以上版本 3. 搜尋HADOOP在Windows環境需要的工具 二 安裝JDK 安裝JDK後,需要配置JDK的環境,這裡可以自行百度。 三 安裝和配置Hapood環境

ReactJS一、手把手搭建ReactJS開發環境Sublime

React的介紹我就不多說了,總之最近很火。 最近打算學一下react(其實是預謀已久),所以對於我這個高度強迫症患者來說,開發環境是我第一步要解決的事情。 這裡我以Sublime作為編輯器。 為什麼選擇sublime?因為他外掛太多了。。所以資源很豐富,恰好也有對Reac

配置便捷的開發環境PyCharm & Jupyter

由於在PyCharm中進行統計整理資料、畫圖等操作有諸多的不便。在本地的jupyter notebook進行處理又顯得步驟繁瑣(傳輸檔案),故萌生在伺服器搭建jupyter notebook的想法。兩種工具優勢互補,從而最大程度上集中注意力在專案本身,提升開發效

Mac os x環境配置 Android ndk 開發環境eclipse篇

1.請確保安卓環境已經存在 3. 配置 .bash_profile 開啟終端,輸入命令 pico .bash_profile 首先 export PATH=${PATH}:/Users/Malone/Documents/android-ndk-r13b

驚雷LinuxRsync的文件同步的配置過程

cti daemon 修改 測試的 傳輸文件 一個 -- iptable 勞動力 Rsync的文件同步實現 一、rsync 簡介 Rsync(remote synchronize)是一個遠程數據同步工具,簡要的概括就是主機於主機之間的文件目錄數據的一個同步。

筆記linux的java環境配置

1、首先下載jdk 連結:https://pan.baidu.com/s/1ZB1cvixbksUogaY1N2rz5A 提取碼:p3mk   2、下載需要一會兒,現在下載ftp工具,下載後直接開啟就行了,綠色免安裝的 連結:https://pan.baidu.com/

筆記linux的nginx配置(做動態服務)

上一篇,我們介紹了nginx配置靜態服務的方法(https://blog.csdn.net/oceanyang520/article/details/83107595), 這一篇,我們來介紹動態服務的方法 nginx動態代理,主要是反向代理,這一篇,我們來介紹下如何用域名訪問你的應用。

轉載linux的samba安裝及配置

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

googletestLinux配置

參考:Linux install googletest 照著上面的教程來就可以了。 下載 Google Test 從 GitHub 上使用 git 來下載 googletest 的原始碼: git clone https://github.com/google/googletes

Linuxlinux配置Git操作免登入ssh公鑰

cd ~/.ssh ssh-keygen -t rsa -b 4096 -C “[email protected]” 然後回車三連擊… 可以看到當前目錄下多出兩個檔案id_rsa.pub

泡咖啡1linuxcaffe編譯以及python環境配置手記

caffe是一個深度學習的庫,相信搞深度學習的話,不是用這個庫就是用theano吧。要想使用caffe首先第一步就是要配置好caffe的環境。在這裡,我主要說的是在debian的linux環境下如何配置好caffe的庫。因為python編寫程式比較方便,在文章最後,我還會具體說明如何配置python環境。本

NingxLinuxNginx的安裝配置

Nginx 安裝配置Nginx("engine x")是一款是由俄羅斯的程式設計師Igor Sysoev所開發高效能的 Web和 反向代理 伺服器,也是一個 IMAP/POP3/SMTP 代理伺服器。在高連線併發的情況下,Nginx是Apache伺服器不錯的替代品。Nginx 安裝系統平臺:CentOS re

Linux查看進程打開的文件句柄數

art blog targe 時間 ase 響應時間 nbsp lin repl ---查看系統默認的最大文件句柄數,系統默認是1024 # ulimit -n 1024 ----查看當前進程打開了多少句柄數 # lsof -n|awk ‘{print $2}‘|sort

轉載linux的mount命令詳解;

文件的 flag 自動加載 網絡文件系統 解決問題 選項 lock home 多個參數 以下內容來自:http://blog.csdn.net/clozxy/article/details/5299054 http://linux.chinaunix.net/techdo

轉載Linuxchkconfig命令詳解

name scrip 再次 http 缺省 重新 禁止 level pool chkconfig命令主要用來更新(啟動或停止)和查詢系統服務的運行級信息。謹記chkconfig不是立即自動禁止或激活一個服務,它只是簡單的改變了符號連接。 使用語法:chkconfig [--

Linux/proc目錄簡介

map kms slab proc文件系統 文件格式 應用 environ 一段時間 內存映射 1. /proc目錄Linux 內核提供了一種通過 /proc 文件系統,在運行時訪問內核內部數據結構、改變內核設置的機制。proc文件系統是一個偽文件系統,它只存在內存當中,而

驚雷Linux多網卡冗余的實現

如果 bond1 轉移 執行 art 分配 exec 系統 硬件 Linux下多網卡冗余的實現 一、簡介 所謂多網卡冗余就是通過工具把多張網卡綁定成一個IP地址(bond0屬於虛擬網卡)使用。這項技術在大中小企業都無比受用。如下圖: 多網卡的綁定的優點: 1、擴大服務器的