做数据科学开发,目前最流行的语言之一是 Python,这主要得益于其提供 Numpy、Pandas等强大的软件包,以及 Jupyter 这样便捷的开发环境。 本文将介绍如何在一台云服务器上配置 Jupyter Notebook 环境,从此只要有浏览器和网络,就是可以随时随地进行数据科学开发工作,不用担心家庭环境与办公环境多次配置的问题。 前提条件如果想跟随本教程一起完成环境搭建工作,需要拥有一台云服务器,笔者使用的是腾讯云提供的 CVM,操作系统为 Ubuntu 14.04。如果不满足该条件,可以考虑通过笔者的推荐链接购买。 如果你打算长期使用该服务器,可以参考这篇文章:如何正确配置 Ubuntu 14.04 云服务器? 购买服务器并完成配置之后,即可通过如下命令登录:
安装依赖Jupyter 是使用 Python 编写的一个软件包。而且,我们希望在 Jupyter 中使用 Python 2 和 Python 3等多个版本,因此先安装 Python 3 和 pip 。(Ubuntu 14.04 默认安装了 Python 2.7)
配置国内 PyPI 源后续使用 pip 安装第三方库时,由于受国内网络**,速度会比较慢。我们首先将 PyPI 的源修改为国内源,这里使用的是中国科学技术大学提供的源。 编辑 ~/.pip/pip.conf ,在最上方加入如下内容:
配置好之后,即可享受风一般的安装速度。 虚拟环境下面,为 Jupyter 创建一个独立的虚拟环境,与系统自带的 Python 隔离开来。为此,先安装 virtualenv 库:
由于我们目前是以 ubuntu 用户,可能要以 sudo 执行命令,避免 pip 安装时出现权限问题。 然后,创建一个专门的虚拟环境,并直接激活:
在创建虚拟环境时,指定的 Python 版本为 3,方便后续的操作。 安装 JupyterJupyter 的安装其实很简单,只需要执行一行命令即可:
由于会安装其他相关的依赖库,这一步所需的时间可能较长。 配置 Jupyter安装好 Jupyter 之后,我们需要对其进行简单的配置,比如设置访问密码,默认不自动打开浏览器等。Jupyter 默认会使用 ~/.jupyter/jupyter-noteboook-config.py 配置文件,我们在 ~/venv/ 目录下新建一个 conf.py 文件作为自定义配置文件。
创建密码为了方便,我们选择 jupyter 作为访问密码。 需要在命令行依次执行如下命令,结束之后会得到一个密码的 sha1 值,后续要填写在配置文件中。
其他设置此外,为了能够直接通过浏览器打开
将上面两处设置,写入
新建 Jupyter 系统服务为了能够长时间访问 Jupyter Notebook,避免每次都需登陆服务器手动执行命令,我们需要让该命令一直在后台自动运行,最好是支持系统重启时自动启动。因此,我们可以将 jupyter 变成一个系统服务。 创建
上面定义了该服务在 runlevel 为 2、3、4、5 时启动,而在非这几个 runlevel 时停止该服务。
配置好了
这样,每次系统启动或者出错重启时,都会启动 Jupyter Notebook。 配置 Nignx 并创建系统服务下一步,我们设置 Nginx 作为 Jupyter 的反向代理服务器。首先,安装 Nginx,并修改
修改其中的 location / 部分,并注释掉某些行,具体见下面的示例:
这一步需要注释掉 try_files 一行,并新增 保存并退出文件,然后重启 Nginx 服务即可。
之后,再修改
并重启 Jupyter 服务:
现在我们访问云服务器的 IP 地址时,就会进入 Jupyter Notebook 的登陆页面。 制作系统镜像虽然说上面的整个过程并不太复杂,一步一步跟着教程做的话可能十分钟左右就可以搞定了。但是如果希望以后也能够快速复制同样的系统,将整个过程编写为一个脚本来自动安装、配置时比较好的选择。不过,最终安装、配置的时间还是会有的。 推荐一种更加快速的方法,即使用腾讯云等云服务商提供的制作镜像功能,将配置好的系统直接打包,以后可以直接使用镜像,只要1-2分钟,就可以启动 Jupyter Notebook 服务器了。 题图:pexels,CC0 授权。 点击阅读原文,报名高可用云端架构设计课程。 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|