1、场景
在Linux服务器上安装JupyterLab并可在远程访问!
2、Anaconda版本
本次安装的Anaconda 版本:Anaconda3-5.2.0-Linux-x86_64.sh
下载地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
3、安装
3.1 关闭防火墙
# 查看防火墙状态
firewall-cmd --state# 关闭防火墙
systemctl stop firewalld.service# 关闭防火墙开机启动
systemctl disable firewalld.service
3.2 安装 Anaconda
# 在/home/data下新建 data 目录
mkdir -p /home/data/
# 将 Anaconda3-5.2.0-Linux-x86_64.sh 上传到 /home/data/# 在data用户下安装anaconda
bash Anaconda3-5.2.0-Linux-x86_64.sh
3.3 在 sudoers 文件下新增用户
# 寻找 sudoers 文件
whereis sudoers# 切换到 root 用户并增加写权限
su
chmod u+w /etc/sudoers# 编辑文件,看需要,可不做
vim /etc/sudoers# 去掉写权限
chmod u-w /etc/sudoers
3.4 安装Jupyter Lab
# 初次使用Anaconda时,对命令行进行预载
conda init# 创建一个anaconda的虚拟环境:jupyterLab,方便管理环境
conda create --name jupyterLab python=3.6
# 进入到环境中
conda activate jupyterLab
# 这时候进入到了jupyterLab这个环境,之后在这里面安装jupyterlab
pip install jupyterlab
安装很快,这里有个注意的地方就是,安装时当前路径在哪个文件夹下,jupyterlab默认打开的就是那个文件夹下,比如我这里提前新建了一个jupyterLab的文件夹,所以打开时默认在这个文件夹下。
3.5 配置Jupyter Lab
安装完成之后设置密码,简单配置一下!
命令行输入:
# 生成默认配置文件
jupyter lab --generate-config
输入这一行命令之后下面会提示默认配置文件的位置,记住这个位置,之后改配置文件。
配置密码,方法1:
ipython
之后输入:
from notebook.auth import passwd
passwd()
之后输入两次密码:
把生成的密钥argon2复制下来,放到配置文件中,在配置文件的最后加上:
c.NotebookApp.ip='*'
c.NotebookApp.allow_remote_access = True
c.NotebookApp.password = u'argon2:$argon2id$v=19$m=10240,t=10,p=8$MJvqP4U5n5ya7jHmcAVosg$0Q9LjW6asFKOgnOJX/dxEqt+efpAhbecXomg0BjCmAU'
# 上面是自己的密钥
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888 #可自行指定一个端口, 访问时使用该端口
配置密码,方法2:
jupyter server password
在终端输入密码后,会将该密码的哈希值写入配置文件。
其他配置:
#编辑前面生成的配置文件:
vim ~/.jupyter/jupyter_notebook_config.py
由于配置文件通篇都是注释,所以以下内容可以直接插入在开头部分,按你的需求修改值
#让所有人都可以访问
c.NotebookApp.ip = '*'
# 这里的密码填写上面生成的密钥
c.NotebookApp.password = '密钥'
# 禁用自动浏览器打开jupyter
c.NotebookApp.open_browser = False
# jupyter lab服务器的端口
c.NotebookApp.port = 8888
# 允许远程访问
c.NotebookApp.allow_remote_access = True
# 工作根目录
c.NotebookApp.notebook_dir = '/root'
注意:由于在Jupyter Lab 3中配置跟之前有区别,其中的Notebook都要改为Server,而且 notebook_dir 属性也更名为 root_dir ,如下:
#让所有人都可以访问
c.ServerApp.ip = '*'
# 这里的密码填写上面生成的密钥
c.ServerApp.password = '密钥'
# 禁用自动浏览器打开jupyter
c.ServerApp.open_browser = False
# jupyter lab服务器的端口
c.ServerApp.port = 8888
# 允许远程访问
c.ServerApp.allow_remote_access = True
# 工作根目录
c.ServerApp.root_dir = '/root'
若是不知道版本,可以将两部分配置都加入配置文件。
4、运行
4.1 启动Lab
使用nohup后台运行,命令行输入:
nohup jupyter lab &
如果是root权限的话,加上:
nohup jupyter lab --allow-root &
直接在任意一台局域网中的浏览器中输入ip地址加自己设置的端口号即可,比如:
4.2 关闭Lab
不使用的时候,查看这个进程,杀掉即可:
# 查看正在允许的jupyter
ps -aux | grep jupyter
# 结束这个进程
kill -9 pid
4.3 汉化
在安装jupyterlab的环境下安装支持汉化的包
# 使用pip安装中文界面插件
pip install jupyterlab-language-pack-zh-CN
安装完成后,界面上选择中文即可:
如果不行的话,直接先在命令行中删除所有的包,再重新安装。
for pkg in `pip freeze | grep jupyter | sed 's/ @.*//'`; do pip uninstall -y $pkg; done
pip install jupyterlab
pip install jupyterlab-language-pack-zh-CN