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就会出现以下登陆页面:
输入服务器的账号和密码,点击登陆后,启动服务,就会跳转至以下界面:
点击New按钮,选择Python 3,就可以创建一个Notebook,并进行编程了。
当然做到这一步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。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。