Jupyter Lab不用详细介绍了,真的是一神器。在远程服务器上搭建jupyetr lab服务后,就可以利用远程服务器的计算资源和开发环境在本地进行相应开发。本文介绍一下搭建远程jupyter lab服务的三种常用方法:
方法一:最便捷的方法
现在远程服务器上开启jupyter lab服务,并通过port参数指定端口,例如我这里打算通过9000这个端口访问远程服务器的jupyter lab服务:
jupyter lab --port=9000 --no-browser
然后,在自己本地的ssh命令窗口上输入以下命令,将本地端口与远程服务器的9000端口实现映射,在此将本地的6666与服务器的9000端口进行映射:
ssh -N -f -L 6666:localhost:9000 Tom@11.22.38.214
Tom@11.22.38.214对应远程服务器的用户名和IP地址。
然后在浏览器中输入:localhost:6666就可以使用jupyter lab了。
注意这里有个坑,输入ssh命令时不要用windows自带的powershell(会报出Bad owner or permissions on C:\Users\smy/.ssh/config),可以用Gitbash。
第二种:直接访问远程服务器的端口
这种方法就是不做端口映射了,直接访问远程服务器的相应端口,在浏览器里直接输入:
11.22.38.214:9000
就可以了。
(第一次安装和使用jupyter lab要用这种方法,先对其配置文件进行相关设置)我们也可以采用更麻烦一点的方法,就是先进入ipython:
ipython3
然后依次输入以下命令:
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
输出:
Out[2]: ‘sha1:f704b702aea2:01e2bd991f9c7208ba177b46f4d10b6907810927‘
然后退出ipython,在terminal中依次输入以下命令:
jupyter lab --generate-config
sudo vim /root/.jupyter/jupyter_notebook_config.py
更改内容如下:
# 将ip设置为*,意味允许任何IP访问
c.NotebookApp.ip = ‘*‘
# 这里的密码就是上边我们生成的那一串
c.NotebookApp.password = ‘sha1:f704b702aea2:01e2bd991f9c7208ba177b46f4d10b6907810927‘
# 服务器上并没有浏览器可以供Jupyter打开
c.NotebookApp.open_browser = False
# 监听端口设置为8888或其他自己喜欢的端口
c.NotebookApp.port = 8888
# 允许远程访问
c.NotebookApp.allow_remote_access = True
以后再搭建远程jupyter lab服务就不用指定端口了,直接输入:
jupyter lab
输出:
smy@DGX-Station:~$ jupyter lab
[W 14:52:52.964 LabApp] WARNING: The notebook server is listening on all IP addresses and not using encryption. This is not recommended.
[W 14:52:52.967 LabApp] JupyterLab server extension not enabled, manually loading...
[I 14:52:52.970 LabApp] JupyterLab extension loaded from /home/smy/.local/lib/python3.6/site-packages/jupyterlab
[I 14:52:52.970 LabApp] JupyterLab application directory is /home/smy/.local/share/jupyter/lab
[I 14:52:52.972 LabApp] Serving notebooks from local directory: /home/smy
[I 14:52:52.972 LabApp] The Jupyter Notebook is running at:
[I 14:52:52.972 LabApp] http://DGX-Station:9000/
[I 14:52:52.972 LabApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
然后在本机的浏览器中输入:11.22.38.214:9000就可以访问了。
第三种方法:利用三方IDE工具,以VSCode为例
利用VSCode连接远程服务器后,按下图所示操作(自动检测已暴露的端口):
注意:如果提示找不到jupyter-lab,那可能是安装错了,用pip单独安装:pip install jupyterlab(jupyter和lab之间没空格)