3

Jupyter原来叫做IPython,后来改名为Jupyter,意思是Julia+Python+R,囊括了三大数据科学语言。Jupyter编程环境具有以下两个特点:

  • 中心化工作环境:Jupyter支持web化部署和远程访问,不同的科学家在相同的工作环境里搞研究,代码交给别人后可以直接运行,不需要浪费时间在环境的调试上。
  • 文学化编程(Literate Programming):Jupyter支持notebook编程模式,代码和正文有机交融在一起,在代码可运行结果可见的情况下又很好地保留了研究逻辑,非常便于交流。

下面我们来讲一下怎么在数据科学团队里部署一个基于Jupyter的数据科学研究环境。我们要使用的工具叫做JupyterHub。该工具由三个部分组成:

  • multi-user Hub
  • configurable http proxy
  • multiple single-user Jupyter notebook servers

为了安装这三个组件,我们得先有一台Linux服务器,在这台服务器上需要安装好nodejs、Python3.4、Python2.7。

使用以下命令安装configurable http proxy:

npm install -g configurable-http-proxy

接下来我们安装multi-user Hub和Jupyter notebook。在安装过程中,我们使用virtualenv来对Python做环境隔离。

pip3 install virtualenv
virtualenv -p python3 ~/py3env
source ~/py3env/bin/activiate
pip3 install jupyterhub
pip3 install jupyter

这个时候Jupyter工具已经可以用了,使用以下命令启动工具:

sudo jupyterhub

打开浏览器,输入http://localhost:8000就会出现以下登陆页面:

clipboard.png

输入服务器的账号和密码,点击登陆后,启动服务,就会跳转至以下界面:

clipboard.png

点击New按钮,选择Python 3,就可以创建一个Notebook,并进行编程了。

clipboard.png

当然做到这一步Jupyter只支持Python3。继续下面的操作我们可以为Jupyter添加Python2、R等其他语言的支持。

使用以下命令可添加Python2的支持:

virtualenv -p python2 ~/py2env
source ~/py2env/bin/activiate
python -m ipykernel install --user --name py2env --display-name "Python 2"
source ~/py3env/bin/activiate

使用以下命令可添加R的支持:

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

添加R语言支持后,可以点击New面板下的R按钮新建R语言的Notebook。

clipboard.png


丹追兵
776 声望357 粉丝

本人年少时在欧洲三国边境小城Aachen游学,瞻仰了两位机械泰斗的风采,然未继承任何技能,终日游手好闲四处转悠。归国后,有感于在机械行业难有建树,遂投身互联网,遇大牛周公,授我以Python和Hadoop大法,立足...