阿里云打造Jupyterlab数据科学环境

本篇博客主要解决阿里云服务器上Jupyterlab配置方面的一些问题,关于安装教程详情见之前的这篇博客。

Windows的Linux子系统搭建数据科学环境

1 安装完无法启动Jupyterlab

首先声明,我在Anaconda3安装过程中已经设置了将安装相关的Python,ipython,Jupyter等添加到环境变量。但是一开始安装完,直接在命令行里敲入Jupyter lab仍旧提示找不到命令。

造成这个问题的可能原因是仍然需要将安装路径设置到环境变量里,也有可能是没有更新环境变量(因为我没有先更新环境变量测试,所以现在不确定解决方式,但是可以两个都做,应该能解决)。

设置环境变量与更新环境变量。。~/anaconda2/bin指Anaconda安装的位置,对应到我的jupyterlab就是Anaconda3的bin文件夹。后面那句命令行即为更新环境变量。

1
2
echo 'export PATH="~/anaconda2/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

2 解决第一个问题以后出现OSError

在解决第一个问题以后,运行jupyter lab,报错为”OSError: [Errno 99] Cannot assign requested address”。谷歌搜索问题解决方式即在jupyter lab后面加上–ip=0.0.0.0 –port=8888,即命令如下。

1
jupyter lab --ip=0.0.0.0 --port=8888

3 允许root账户登录

由于阿里云服务器一直是root账户登录,因此还需后面加上–allow-root,即命令如下。

1
jupyter lab --ip=0.0.0.0 --port=8888 --allow-root

当然阿里云上还需要在安全组上开放8888端口(如果你把port端口换成非8888,即使用更换后的数字)。

4 Jupyter lab配置文件生成

每次赋值token码是比较麻烦的,这里采用生成配置文件修改密码的方式来操作。首先,敲入如下命令行。

1
jupyter lab --generate-config

然后用vim编辑打开配置文件。可以看到如下关于密码设置的注释。

接着先进入Python3或ipython的命令行。

1
2
from notebook.auth import password
password()

接着会让你设置密码,设置完密码以后会出现一串字符。将这段字符进行复制,然后打开前面生成的配置文件。找到以下几个地方做修改。

1
2
3
4
5
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.port = 8888
c.NotebookApp.allow_root = True
c.NotebookApp.open_browser = False
c.NotebookApp.password = '' #填入刚刚复制的字符

这样后续只需要用jupyter lab即可启动Jupyter lab,然后将阿里云服务器的ip地址加上‘:8888/lab’,即可登录,当然阿里云服务器还需要设置8888端口安全组开放。这样就可以愉快地使用Jupyter lab做编程了。骨灰级matplotlib hello world测试。

参考链接:

1.ubuntu16.04下anaconda3的安装和配置,jupyter notebook的简单使用

2.OSError: Errno 99 Cannot assign requested address

3.Jupyter Lab 简单配置