在服务器端配置好了conda环境,服务器端是Ubuntu系统,现在希望通过个人windows主机通过浏览器使用jupyter。
关于网络,个人win机和服务器linux机器都在校园网中。
Jupyter准备
事先通过实验室默认的、名为ubuntu的用户,安装了Anaconda,它默认自带了Jupyter,所以无需再安装jupyter。
本人账号为wuboxin,切换到该账号,执行以下命令。
#初始化conda环境,生成~/.conda目录等操作。
(base) wuboxin@9019:~$ conda init
# 新建conda环境
(base) wuboxin@9019:~$ conda create --name layoutlmv3 python=3.7
# 切换到该环境
(base) wuboxin@9019:~$ conda activate layoutlmv3
# 启动jupyter
(layoutlmv3) wuboxin@9019:~$ jupyter-notebook
[I 22:20:31.731 NotebookApp] [nb_conda_kernels] enabled, 2 kernels found
[I 22:20:31.906 NotebookApp] Serving notebooks from local directory: /idas/wuboxin
[I 22:20:31.906 NotebookApp] Jupyter Notebook 6.4.11 is running at:
[I 22:20:31.906 NotebookApp] http://localhost:8888/?token=e14f649563688c5bce4f6ea4efa0aec4f801b104c22d1e04
[I 22:20:31.906 NotebookApp] or http://127.0.0.1:8888/?token=e14f649563688c5bce4f6ea4efa0aec4f801b104c22d1e04
[I 22:20:31.906 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
默认在8888端口上运行,可以通过—port=8989更改。
连接jupyter
此时服务器上jupyter已经在正常运行,但在个人win机上不能通过浏览器直接访问jupyter的链接。
我们需要通过ssh设置转发,打开cmd命令行。
# 方式一
ssh -p 3909 wuboxin@222.195.151.21 -L 127.0.0.1:8888:127.0.0.1:8888
# 方式二
ssh -N -f -L localhost:8888:localhost:8880 -p 3909 wuboxin@remote_host
两个方法,-L跟着的两个socket,前者是win机访问链接,后者是服务器jupyter服务链接。
这时候就可以在win机上直接访问127.0.0.1:8888即可访问。
切换kernel
这时候,有一个问题,打开的jupyter使用的是默认环境,切换kernel也找不到我们的环境选项,需要自己注册。
首先,conda安装nb_conda_kernels
(layoutlmv3) wuboxin@9019:~$ conda install nb_conda_kernels
Collecting package metadata (current_repodata.json): done
Solving environment: done
然后注册
(layoutlmv3) wuboxin@9019:~$ python -m ipykernel install --user --name layoutlmv3
Unable to load extension: pydevd_plugins.extensions.types.pydevd_plugin_pandas_types
Installed kernelspec layoutlmv3 in /idas/wuboxin/.local/share/jupyter/kernels/layoutlmv3
参考
ssh转发 https://blog.csdn.net/qq948127483/article/details/112630756
ssh转发、切换kernel https://zhuanlan.zhihu.com/p/161221247