文章目录
0、JupyterLab 概述
JupyterLab是Jupyter主打的最新数据科学生产工具,某种意义上,它的出现是为了取代Jupyter Notebook。不过不用担心Jupyter Notebook会消失,JupyterLab包含了Jupyter Notebook所有功能。
JupyterLab作为一种基于web的集成开发环境,你可以使用它编写notebook、操作终端、编辑markdown文本、打开交互模式、查看csv文件及图片等功能。
你可以把JupyterLab当作一种究极进化版的Jupyter Notebook。原来的单兵作战,现在是空陆空联合协作。
总之,JupyterLab有以下特点:
- 交互模式:Python交互式模式可以直接输入代码,然后执行,并立刻得到结果,因此Python交互模式主要是为了调试Python代码用的
- 内核支持的文档:使你可以在可以在Jupyter内核中运行的任何文本文件(Markdown,Python,R等)中启用代码
- 模块化界面:可以在同一个窗口同时打开好几个notebook或文件(HTML, TXT, Markdown等等),都以标签的形式展示,更像是一个IDE
- 镜像notebook输出:让你可以轻易地创建仪表板
- 同一文档多视图:使你能够实时同步编辑文档并查看结果
- 支持多种数据格式:你可以查看并处理多种数据格式,也能进行丰富的可视化输出或者Markdown形式输出
- 云服务:使用Jupyter Lab连接Google Drive等服务,极大得提升生产力
一、华为云部署Anaconda
- 查看系统版本
cat /etc/issue
:查看系统信息,确认安装Anaconda的版本,我的版本是
- 安装版本比较新的Anaconda的sh软件,这里建议选择清华大学开源软件镜像站上的软件,***非常快,我的版本是:
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2020.07-Linux-x86_64.sh
- 安装Anaconda软件
确认一下文件路径:
进行安装
bash Anaconda3- 2020. 07-L inux- xB6_ 64.sh
看完长长的协议后,确认一下:
下面是安装后的结果:
到这里还没有完,需要/.bashrc
文件的最后添加如下内容
并且source一下:
echo 'export PATH="~/anaconda3/bin:$PATH"' >> ~/.bashrc
source .bashrc
- 处理完成后,可以检查一下版本:
- 如有必要,可以进行下一步升级
二、在anaconda基础上部署Jupyter Lab
其实,也可以直接安装Jupyter Lab,但是为了后续的深度学习与机器学习工作,建议还是先安装好Anaconda比较好。
- 通过
conda
命令行安装jupyterlab:conda install jupyterlab
安装好之后,可以用jupyter --version
查看一下:
- 在root环境下,通过
ipython
命令,进入python环境:
from notebook.auth import passwd
passwd()
Enter password: # 输入密码,用于进入jupyter lab
Verify password: # 注:输入时不显示输入情况
‘sha1:*********’ # 保存这段hash码
quit()
如图所示:
3. 重置一下密码,这样可以生成具体的jupyter_notebook_config.json
文件
输入命令:
jupyter notebook password
然后设置你的密码即可。
这一步很重要,如果没有json文件,会生成以下报错:Invalid credentials
(网上的大部分教程是有问题的,笔者针对这个问题花了好长时间。)
4.生成配置文件。
jupyter notebook --generate-config
如下图所示:
由于jupyter lab 其实是在jupyter notebook上的升级版,所以有些命令用的是
jupyter notebook
,而不是用jupyter lab
。
- 编辑配置文件,去掉注释
vim ~/.jupyter/jupyter_notebook_config.py
c.NotebookApp.allow_root = True # 必选项,这里需要允许最高权限,否则会报错:Running as root is not recommended. Use --allow-root to bypass
c.NotebookApp.ip = '0.0.0.0' # 必选项,'0.0.0.0'表示允许所有IP,当然你也可以使用'*'或者' '
c.NotebookApp.notebook_dir = u'/root/JupyterLab' # 可选项,设置后面哪个文件路径是你的工作路径,如果不设置的话,最后工作路径会在~/.jupyter下。
c.NotebookApp.open_browser = False # 必选项,不通过本地浏览器方式打开。
c.NotebookApp.port = 8080 # 必选项,根据实际情况设置端口,默认是8888。
c.NotebookApp.password = '' # 这里填写刚才的hash值
Tips:文件行数太多,可以在vim编辑器中通过命令行模式进行查找:如,
/allow_root
配置完成后的部分截图:
注意,这里需要手动创建文件夹:mkdir /root/Jupyter
三、配置华为云服务器
- 配置华为云安全组
我用的是第一个Sys-default
,大家可以根据实际情况更改。
回到云服务器,使用jupyter lab
命令,开启云平台jupyter lab即可。做到这里,基本上就可以通过华为云服务器 地址:端口号访问JupyterLab啦
网页端,输入你的华为云IP:端口
即可得到如下内容:
四、进阶内容
4.1nodejs 警告:
由于笔者未安装Nodejs,这里出现了报错,但是好像不影响使用。为了让他不会在后续的使用过程中出现问题,笔者顺便安装和升级了一下NodeJs
(1) 找到node.js官网下载地址
复制下载链接:https://cdn.npm.taobao.org/dist/node/v14.6.0/node-v14.6.0-linux-x64.tar.xz
输入命令:wget https://cdn.npm.taobao.org/dist/node/v14.6.0/node-v14.6.0-linux-x64.tar.xz
(2)解压
tar -xf node-v14.6.0-linux-x64.tar.xz
(3):设置全局变量
① 打开文件
vim /etc/profile
② 最后一行放入
PATH=$PATH:/software/node-v10.15.0-linux-x64/bin
s
(4):刷新配置文件
source /etc/profile
安装成功界面如下:
4.2 关于Nodejs的升级
目前找到的最方便的方法:用n升级nodejs
1) 全局安装n
2) 升级到最新稳定版
linuxidc@linuxidc:~/www.linuxidc.com$ sudo n stable
installing : node-v10.16.1
mkdir : /usr/local/n/versions/node/10.16.1
fetch : https://nodejs.org/dist/v10.16.1/node-v10.16.1-linux-x64.tar.gz
installed : v10.16.1
3) 升级到最新版
$ n latest
4) 升级到定制版
$ n v11.13.0
5) 切换使用版本
$ n 11.13.0(ENTER)
6) 删除制定版本
$ n rm 11.13.0
7) 用制定的版本执行脚本
$ n use 11.13.0 some.js
4.3 让Jupyter一直运行,后台挂起
nohup jupyter lab --allow-root > jupyter.log 2>&1 &
ps -a 查看进程pid
kill -9 pid # 终止进程