JupyterLab 是 Jupyter 主打的最新数据科学生产工具,是基于 Web 的交互式开发环境。某种意义上,它的出现是为了取代 Jupyter Notebook,但它也包含了 Jupyter Notebook 的所有功能,非常方便研究和教学。 JupyterLab 的用途非常灵活,可支持数据清理和转换、统计建模、数据科学、科学计算和机器学习领域的广泛工作。
安装 JupyterLab
Ubuntu 18+ 默认已经集成了 Python 3.6 以上版本,保险起见先查看一下 Python 版本是否符合 JupyterLab 的要求:
安装 Miniconda
首先更新已安装的软件包至最新版本
1
| sudo apt update && sudo apt upgrade
|
接下来使用清华源安装 Miniconda:
1 2 3 4 5
| cd //回到默认的 $home 目录 wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py39_4.12.0-Linux-x86_64.sh bash Miniconda3-py39_4.12.0-Linux-x86_64.sh source ~/.bashrc conda --v
|
如果正常安装完成,应该能够正常显示 conda 版本。
后面需要使用 vim 文本编辑器编辑一些配置文件,让我们先来熟悉一下 vim 的基本操作:
vim 使用小贴士
1 2 3 4 5 6 7
| vim filename -- 使用 vim 打开文件 h j k l -- 移动光标位置 i -- 在当前光标位置插入 q -- 退出编辑模式 wq -- 保存并退出 q -- 退出 q! -- 退出不保存
|
了解了 vim 的基本使用,接下来我们将 conda 和 Python 的源切换为清华:
1
| vim ~/.condarc //使用 vim 创建 conda 配置文件
|
接下来向 .condarc
文件中添加以下内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| channels: - defaults show_channel_urls: true default_channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2 custom_channels: conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
|
之后需要运行 conda clean -i
清除索引缓存,保证使用清华源。
接下来将 pip 也更换为使用清华源:
1 2
| python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
|
安装和配置 JupyterLab
首先确认位于 Miniconda 的 base 环境内,确认方式是看终端前面是否显示有 (base)
,如果没有,执行一下 conda activate base
,之后使用 conda install jupyterlab
安装 JupyterLab。
完成安装后,需要提前为 JupyterLab 准备一个密码,进入 Python 环境:
1 2 3 4 5 6
| python // 进入 Python 环境
>>> from notebook.auth import passwd >>> passwd() 'argon2$……' >>> quit()
|
接下来使用 jupyter lab --generate-config
创建配置文件,使用 vim ~/.jupyter/jupyter_lab_config.py
打开配置文件,进行如下编辑:
1 2 3 4 5 6 7
| c.ServerApp.allow_origin = '*' // 允许远程地址 c.ServerApp.allow_remote_access = True // 允许远程访问 c.ServerApp.ip = '0.0.0.0' // 监听服务地址 c.ServerApp.notebook_dir = '/home/ubuntu/workspace' // 项目默认目录 c.ServerApp.password = 'xxxxxx' // 刚生成的类似 'argon2:...' 的加密字符串 c.ServerApp.open_browser = False // 启动服务时不弹出浏览器 c.ServerApp.port = 8080 // 服务端口号
|
Congratulations! 现在你可以使用 jupyter lab
命令启动 JupyterLab,通过 IP:8080 来访问你的服务了!
汉化、安装插件管理器和常用包
1 2 3
| conda install -c conda-forge jupyter_contrib_nbextensions // 安装插件管理器 pip install jupyterlab-language-pack-zh-CN // 安装中文语言包 pip install numpy conda pandas scipy matplotlib // 常用数学统计库
|
至此,已经完成了 JupyterLab 环境的搭建,并且可以用其进行 Python 开发了!
为 JupyterLab 添加系统服务
使用 sudo vim /etc/systemd/system/jupyter.service
命令,新建 jupyter.service
文件并添加如下内容(其中 ExecStart、User、Group、WorkingDirectory 等参数需要根据自己配置做修改,需要使用 mkdir /home/ubuntu/workspace
命令提前建立工作目录):
1 2 3 4 5 6 7 8 9 10 11 12 13
| [Unit] Description=Jupyterlab After=network.target [Service] Type=simple ExecStart=/home/ubuntu/miniconda3/bin/jupyter-lab --config=/home/ubuntu/.jupyter/jupyter_lab_config.py --no-browser User=ubuntu Group=ubuntu WorkingDirectory=/home/ubuntu/workspace Restart=always RestartSec=10 [Install] WantedBy=multi-user.target
|
设置开机启动,及其他控制命令:
1 2 3 4
| sudo systemctl enable jupyter // 开机自启 sudo systemctl start jupyter // 启动 sudo systemctl stop juppyter // 停止 sudo systemclt restart jupyter // 重启
|
为 JupyterLab 添加 R 支持
安装 R-base
1 2 3 4 5 6 7 8
| // 安装两个帮助包 sudo apt install --no-install-recommends software-properties-common dirmngr // 添加签名 key wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc // 加入 R 4.0 源,这里使用的也是清华的 CRAN 源 sudo add-apt-repository "https://mirrors.tuna.tsinghua.edu.cn/CRAN/bin/linux/ubuntu $(lsb_release -cs)-cran40/" // 安装 r-base sudo apt install r-base r-cran-devtools
|
使用 sudo -i R
以 root 身份进入 R,之后在 R 内运行以下命令:
1 2 3 4
| install.packages('devtools') devtools::install_github('IRkernel/IRkernel') IRkernel::installspec() q()
|
至此,JupyterLab 已经可以支持和使用 R 内核。
为 JupyterLab 添加 Javascript 支持
安装 nodejs 及 npm
1 2
| curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - &&\ sudo apt-get install -y nodejs
|
查看一下 nodejs 和 npm 版本,node --version && npm --version
,如果能够正常显示版本号,则意味着安装成功。
安装 ijs 并激活内核
接下来使用这个命令 npm i -g ijavascript --registry=https://registry.npm.taobao.org
安装 ijs 包,使用命令 ijsinstall
完成内核的激活。