如何讓Jupyter Notebook支持多種編程語言?

不滿意Jupyter Notebook只有Python 2環(huán)境,還打算讓它支持Python 3與R?沒問題,本文一步步幫助你實(shí)現(xiàn)這個(gè)愿望。

疑問

在《 如何用Python做詞云 》一文中,有眼尖的同學(xué)發(fā)現(xiàn)我在Jupyter Notebook新建筆記本時(shí),菜單里有多個(gè)選項(xiàng)。

這就意味著我可以直接新建支持Python 2,Python 3,甚至是R語言的筆記本。

可是當(dāng)你自己安裝了Anaconda后,新建筆記本的選項(xiàng)卻是這樣的。

你可能馬上覺得不公平了——為什么我這里的選項(xiàng)這么少?我也想讓自己的Jupyter Notebook同時(shí)支持這3種不同編程環(huán)境!

其實(shí)Jupyter Notebook可以支持的編程語言,遠(yuǎn)不止這幾種。下圖只是個(gè)不完全列表。

想看完全的列表,請?jiān)L問 這個(gè)鏈接

本文我們只討論如何讓Jupyter Notebook支持Python 3和R這兩種編程語言。如果你是初學(xué)者,我建議你還是先把Python 2掌握熟練,再去嘗試遷移到Python 3。至于R,也有現(xiàn)成的RStudio等優(yōu)秀集成開發(fā)環(huán)境可以使用。

當(dāng)然,如果你愛好折騰,歡迎按照本文的步驟嘗試。

Python 3

首先你需要保存目前Jupyter Notebook里面的全部內(nèi)容,然后切換到“終端”或者“命令提示符”下面。

若是如圖所示,之前的Jupyter Notebook正在運(yùn)行,那么按照提示鍵入Control和C兩個(gè)按鍵,退出正在運(yùn)行的Jupyter Notebook。

之后鍵入命令:

pip3 install ipykernel
python3 -m ipykernel install

然后,再次啟動(dòng)Jupyter Notebook

jupyter notebook

這次新建筆記本的菜單就變成了這樣:

好了,Jupyter Notebook里Python 3的編程環(huán)境就安裝好了。

我們可以新建一個(gè)Python 3的筆記本,然后輸入以下命令:

1/2
print "abc"

如果你已經(jīng)熟悉了Python 2,那么你應(yīng)該會判定第一條語句輸出為0(因?yàn)楸怀龜?shù)和除數(shù)都是整數(shù)),而第二條語句會打印"abc"這個(gè)字符串。

然而在Python 3環(huán)境中,輸出是這個(gè)樣子的。

如果你也獲得了這樣的輸出結(jié)果,那么恭喜你,你的Python 3環(huán)境安裝已經(jīng)順利完成了。

R

R語言是統(tǒng)計(jì)學(xué)專業(yè)非常喜歡的編程語言。雖然它的最初設(shè)計(jì)并不是一種通用語言,但是由于許多統(tǒng)計(jì)專家把它當(dāng)做母語,因此這群人干什么工作都恨不得把R用上。

久而久之,R的功能已經(jīng)多到令人發(fā)指的程度了。你用C語言或者Java寫幾百行語句,到了R這里可能就跟用計(jì)算器一樣,幾行代碼搞定。如果你打算用好R語言,一定要學(xué)會如何找到更高效的軟件包,那會讓你事半功倍。

如果你還沒有安裝R,請到 這個(gè)網(wǎng)址 選擇一個(gè)合適的下載鏡像。列表里面會分國家地區(qū)列出鏈接。

我一般選擇中國區(qū)的第一個(gè)選項(xiàng),也就是清華大學(xué)的鏡像。點(diǎn)擊鏈接進(jìn)入后,你會看到這樣的頁面。

根據(jù)你的系統(tǒng)類型,從右側(cè)的Linux, OS X和Windows不同下載鏈接選擇對應(yīng)版本,并且根據(jù)提示安裝就可以。建議使用默認(rèn)設(shè)置。

安裝了R語言后,我們在Jupyter Notebook中安裝R語言支持。

首先你還是需要保存目前Jupyter Notebook里面的全部內(nèi)容,然后切換到“終端”或者“命令提示符”下面。

按照提示鍵入Control和C兩個(gè)按鍵,退出正在運(yùn)行的Jupyter Notebook。之后鍵入命令:

R

你會看到這樣的提示:

就在這個(gè)“>”提示符下面,輸入以下語句:

install.packages('devtools')

R會提示你選擇合適的鏡像。

找到其中有“China”字樣的就對了。這里列表中唯一來自中國的鏡像是蘭州大學(xué)的服務(wù)器。

然后繼續(xù)執(zhí)行:

devtools::install_github('IRkernel/IRkernel')
IRkernel::installspec()
install.packages('ggplot2')

好了,為了退出R環(huán)境,我們輸入:

q()

現(xiàn)在,我們回到了終端下面,執(zhí)行

jupyter notebook

這次,我們再新建筆記本,就多了R這樣一個(gè)選項(xiàng)了。

我們嘗試一下,看看是否好用。

新建一個(gè)R筆記本。隨便起個(gè)名字,我這里叫做“test-r”。

然后輸入以下語句,之后按"Shift+Enter"來執(zhí)行。

library("ggplot2")
ggplot(data = mtcars, aes(x = wt, y = mpg, color = cyl)) + geom_point() +
 geom_smooth(method="lm") +
 labs(main="Regression of MPG on Weight",
 xlab="Weight", ylab="Miles per Gallon")

如果你看到如圖所示的運(yùn)行結(jié)果,證明一切安裝正常。

生成的圖像是這個(gè)樣子的:

R語言的功能夠強(qiáng)大吧?寫起來也足夠簡潔明快吧?

至此,Jupyter Notebook已經(jīng)能夠同時(shí)正確支持Python 2, Python 3和R三種編程開發(fā)環(huán)境了。編碼愉快喲!

討論

除了Jupyter Notebook之外,你還知道哪些好用的Python與R開發(fā)環(huán)境?與Jupyter Notebook比起來,它們的特點(diǎn)是什么?在數(shù)據(jù)科學(xué)領(lǐng)域,你覺得Python與R哪個(gè)更有前途?歡迎留言,把你的經(jīng)驗(yàn)分享給大家,我們一起交流討論。

如果你對我的文章感興趣,歡迎點(diǎn)贊,并且微信關(guān)注和置頂我的公眾號“玉樹芝蘭”(nkwangshuyi)。

如果本文可能對你身邊的親友有幫助,也歡迎你把本文通過微博或朋友圈分享給他們。讓他們一起參與到我們的討論中來。

延伸閱讀

如何用《玉樹芝蘭》入門數(shù)據(jù)科學(xué)?

數(shù)據(jù)科學(xué)相關(guān)文章合集(玉樹芝蘭)

作者信息

王樹義,大學(xué)教師,終身學(xué)習(xí)者。稍微懂一點(diǎn)兒寫作、演講、Python和機(jī)器學(xué)習(xí)。歡迎微信關(guān)注并置頂我的公眾號“玉樹芝蘭”(nkwangshuyi)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容