最开始的话
在写这篇文章时,我可是广搜资料,尝试了太多方式,都不能远程访问,jupyter官方网站也没找到教程,尝试了一个下午和一个晚上也没整好,导致瞌睡都没睡好,第二天早上,突然灵光乍现,改变了修改的配置文件,然后就成了!!这其中的辛酸,不足道也。
起因
为了更好,更便捷的使用python,在服务器上安装jupyterlab,随时随地都可访问。
步骤
一、安装minconda(非必须,但建议)
使用conda可以更好的管理包和环境,所以采用conda的方式安装jupyter和python,环境新建一个,再使用即可
下载minconda,下载的位置任意即可
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
下载完成后的名字为 Miniconda3-latest-Linux-x86_64.sh ,给它赋予可执行权限
chmod +x Miniconda3-latest-Linux-x86_64.sh
安装执行,根据提示安装即可
./Miniconda3-latest-Linux-x86_64.sh
如果还需要配置环境变量,因为我使用的是zsh,命令如下(不可全抄,路径可能不一样)
# zsh环境执行这个
echo "PATH=$PATH:~/minconda/bin" >> ~/.zshrc
# bash环境执行这个
echo "PATH=$PATH:~/minconda/bin" >> ~/.bashrc
新建一个python环境
conda create -n lab python=3.10
如果下载速度比较慢,那么需要修改镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/ conda config --set show_channel_urls yes
激活环境
conda activate lab
默认情况下,会进入base环境,我的建议是可以关闭默认base环境
conda config --set auto_activate_base false
二、安装jupyterlab
本文采用的是conda安装jupyter,执行如下命令
# 进入conda创建的环境,前文已经创建
conda activate lab
# 安装jupyterlab
conda install jupyter
# 或者,建议安装jupyter,比较全
conda install jupyterlab
# 退出环境
conda deactivate
如果使用python自带的pip安装,那么执行
pip install jupyter
三、修改配置,使jupyterlab可以远程连接(重要)
这步是核心,生成的命令有,有的教程用的是jupyter notebook,我需要的jupyter lab,还有的教程用的是jupyter lab,生成的却是jupyter notebook,我想不是很理解这个做法。根据最后结果,生成的文件配置了也是不能生效的,这部分可花了我太多时间了,我一个一个尝试,都以失败告终。这点希望后来人引以为戒
jupyter server --generate-config jupyter-lab --generate-config jupyter-notebook --generate-config
以下为成功配置:
直接生成密码配置文件,jupyter远程访问,没有密码怎么可以呢,请妥善保存密码,后续登录jupyter lab会用到
至于为什么要先生成密码,后续会用到生成的配置文件,默认位置会在家目录生成 .jupyter/jupyter_server_config.json
我的则是 /home/ecs-user/.jupyter/jupyter_server_config.json,如下所示
jupyter server password ─╯
Enter password:
Verify password:
[JupyterPasswordApp] Wrote hashed password to /home/ecs-user/.jupyter/jupyter_server_config.json
在 jupyter_server_config.json 文件里面,默认生成就是密码了,如图
修改生成的 json文件,我们需要添加的内容有
"ip": "*",
"port": 8899,
"open_browser": false,
"allow_remote_access": true
"notebook_dir": "/home/ecs-user/codespace/jupyterProjects"
根据实际情况修改即可,
ip 直接填 * 号即可
port 为端口号,你可以更改,
open_browser 为默认打开浏览器,服务器资源宝贵,没安装图形化界面,关闭
allow_remote_access 允许远程访问,这个必须打开
notebook_dir jupyter默认打开的位置
修改后如图所示:
四、查看配置项(非必须)
在第三步中,给出的配置项从哪知道呢,这就可以用到生成默认配置文件模板了
jupyter server --generate-config ─╯
Writing default config to: /home/ecs-user/.jupyter/jupyter_server_config.py
生成的文件默认路径在用户家目录下 .jupyter/jupyter_server_config.py
重要!!!:如果你生成了该文件,请修改名字,否则会导致jupyter lab启动读取该文件而不读取json文件,而该文件就算修改了也没有效果,谨记!!!
mv jupyter_server_config.py jupyter_server_config.py.1
我们先来瞄一眼大概长什么样
来对比一下 jupyter_server_config.json
根据如上图的对比所示,大致也明白了,json文件中该如何修改了。
五、启动jupyter lab
在 使用 lab 环境下
# 使用lab环境
conda activate lab
5.1 前台启动(不建议)
# 启动jupyter lab
jupyter-lab
5.1 后台启动(推荐)
# 后台启动,标准输出重定向到 /dev/null 标准错误重定向到 标准输出
nohup jupyter-lab >/deb/null 2>&1 &
打开本地浏览器窗口,输入ip:port,输入密码(这个密码在生成密码配置文件的时候输入的密码)
如果服务端安全组端口没有打开,请自寻资料打开;
防火墙需要关闭的关闭;
这里就不介绍了
输入ip和端口后,界面如下
输入密码,进入如下界面
至此,恭喜你,终于完成了,完结撒花 。:.゚ヽ(。◕‿◕。)ノ゚.:。+゚