如何让Jupyter Notebook支持多种编程语言?

1字数 1598阅读 8528

不满意Jupyter Notebook只有Python 2环境,还打算让它支持Python 3与R?没问题,本文一步步帮助你实现这个愿望。

疑问

在《 如何用Python做词云 》一文中,有眼尖的同学发现我在Jupyter Notebook新建笔记本时,菜单里有多个选项。

这就意味着我可以直接新建支持Python 2,Python 3,甚至是R语言的笔记本。

可是当你自己安装了Anaconda后,新建笔记本的选项却是这样的。

你可能马上觉得不公平了——为什么我这里的选项这么少?我也想让自己的Jupyter Notebook同时支持这3种不同编程环境!

其实Jupyter Notebook可以支持的编程语言,远不止这几种。下图只是个不完全列表。

想看完全的列表,请访问 这个链接

本文我们只讨论如何让Jupyter Notebook支持Python 3和R这两种编程语言。如果你是初学者,我建议你还是先把Python 2掌握熟练,再去尝试迁移到Python 3。至于R,也有现成的RStudio等优秀集成开发环境可以使用。

当然,如果你爱好折腾,欢迎按照本文的步骤尝试。

Python 3

首先你需要保存目前Jupyter Notebook里面的全部内容,然后切换到“终端”或者“命令提示符”下面。

若是如图所示,之前的Jupyter Notebook正在运行,那么按照提示键入Control和C两个按键,退出正在运行的Jupyter Notebook。

之后键入命令:

pip3 install ipykernel
python3 -m ipykernel install

然后,再次启动Jupyter Notebook

jupyter notebook

这次新建笔记本的菜单就变成了这样:

好了,Jupyter Notebook里Python 3的编程环境就安装好了。

我们可以新建一个Python 3的笔记本,然后输入以下命令:

1/2
print "abc"

如果你已经熟悉了Python 2,那么你应该会判定第一条语句输出为0(因为被除数和除数都是整数),而第二条语句会打印"abc"这个字符串。

然而在Python 3环境中,输出是这个样子的。

如果你也获得了这样的输出结果,那么恭喜你,你的Python 3环境安装已经顺利完成了。

R

R语言是统计学专业非常喜欢的编程语言。虽然它的最初设计并不是一种通用语言,但是由于许多统计专家把它当做母语,因此这群人干什么工作都恨不得把R用上。

久而久之,R的功能已经多到令人发指的程度了。你用C语言或者Java写几百行语句,到了R这里可能就跟用计算器一样,几行代码搞定。如果你打算用好R语言,一定要学会如何找到更高效的软件包,那会让你事半功倍。

如果你还没有安装R,请到 这个网址 选择一个合适的下载镜像。列表里面会分国家地区列出链接。

我一般选择中国区的第一个选项,也就是清华大学的镜像。点击链接进入后,你会看到这样的页面。

根据你的系统类型,从右侧的Linux, OS X和Windows不同下载链接选择对应版本,并且根据提示安装就可以。建议使用默认设置。

安装了R语言后,我们在Jupyter Notebook中安装R语言支持。

首先你还是需要保存目前Jupyter Notebook里面的全部内容,然后切换到“终端”或者“命令提示符”下面。

按照提示键入Control和C两个按键,退出正在运行的Jupyter Notebook。之后键入命令:

R

你会看到这样的提示:

就在这个“>”提示符下面,输入以下语句:

install.packages('devtools')

R会提示你选择合适的镜像。

找到其中有“China”字样的就对了。这里列表中唯一来自中国的镜像是兰州大学的服务器。

然后继续执行:

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

好了,为了退出R环境,我们输入:

q()

现在,我们回到了终端下面,执行

jupyter notebook

这次,我们再新建笔记本,就多了R这样一个选项了。

我们尝试一下,看看是否好用。

新建一个R笔记本。随便起个名字,我这里叫做“test-r”。

然后输入以下语句,之后按"Shift+Enter"来执行。

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")

如果你看到如图所示的运行结果,证明一切安装正常。

生成的图像是这个样子的:

R语言的功能够强大吧?写起来也足够简洁明快吧?

至此,Jupyter Notebook已经能够同时正确支持Python 2, Python 3和R三种编程开发环境了。编码愉快哟!

讨论

除了Jupyter Notebook之外,你还知道哪些好用的Python与R开发环境?与Jupyter Notebook比起来,它们的特点是什么?在数据科学领域,你觉得Python与R哪个更有前途?欢迎留言,把你的经验分享给大家,我们一起交流讨论。

如果你对我的文章感兴趣,欢迎点赞,并且微信关注和置顶我的公众号“玉树芝兰”(nkwangshuyi)。

如果本文可能对你身边的亲友有帮助,也欢迎你把本文通过微博或朋友圈分享给他们。让他们一起参与到我们的讨论中来。

延伸阅读

如何用《玉树芝兰》入门数据科学?

数据科学相关文章合集(玉树芝兰)

作者信息

王树义,大学教师,终身学习者。稍微懂一点儿写作、演讲、Python和机器学习。欢迎微信关注并置顶我的公众号“玉树芝兰”(nkwangshuyi)。

推荐阅读更多精彩内容