远程使用 jupyter notebook

这篇文章记录下如何远程使用 jupyter notebook。

首先在服务器上,激活自己的 Python 虚拟环境:

1
source /raid/workspace/tanjuntao/py35env/bin/activate

如果没有安装 jupyter 这个包的话,需要首先安装:

1
pip install jupyter

安装成功后,接着启动 jupyter notebook 这个服务:

1
jupyter notebook --no-browser --port=8080

这里面的端口可以任意指定,只要不和系统进程的端口冲突即可。

启动之后,会有一串输出提示信息:

1
2
3
4
5
6
7
8
9
10
(py35env) (base) user@1-scw4750:/raid/workspace/tanjuntao$ jupyter notebook --no-browser --port=8080
[W 18:48:29.706 NotebookApp] Collisions detected in /home/user/.jupyter/jupyter_notebook_config.py and /home/user/.jupyter/jupyter_notebook_config.json config files. /home/user/.jupyter/jupyter_notebook_config.json has higher priority: {
"NotebookApp": {
"password": "'sha1:c2a505dd0ed4:b62adc94acff946e3efa595a4a6e1d7b35cd6716' ignored, using 'sha1:2b1858591aaf:43b0123a99a39ee6a38e329a336b48092c9776f8'"
}
}
[I 18:48:29.895 NotebookApp] Serving notebooks from local directory: /raid/workspace/tanjuntao
[I 18:48:29.895 NotebookApp] The Jupyter Notebook is running at:
[I 18:48:29.895 NotebookApp] http://s1.linkeservers.ml:8080/
[I 18:48:29.895 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

从第 9 行中我们可以知道,我们的服务已经成功启动起来了,地址是:s1.linkeservers.ml,端口是 8080

如果端口 8080 被其它进程占用的话,那么 jupyter notebook 会自动分配下一个端口,也就是 8081

接着,我们在自己本地的浏览器上,直接打开刚才的地址:http://s1.linkeservers.ml:8080/,这时候会弹出一个登录窗口,如果你记得密码,直接登录就好了;如果忘了密码,就需要重新设置。

重设密码也很简单,在服务器上,先 ctrl + c 关闭 jupyter notebook 服务,接着输入:

1
jupyter notebook password

这时候会提示输入新密码,输入完之后再输一遍进行确认,jupyter notebook 的登录密码就被重置了。

接着我们重新启动 jupyter notebook 服务,在浏览器中输入刚才重置后的密码,就可以使用远程的 jupyter noteboook 了。

有两点需要注意的:

  • 在浏览器中打开的 jupyter notebook 目录,和在服务器上启动 jupyter notebook 时的目录一致。也就是说,当前在服务器上所处的目录,会在浏览器中以 jupyter notebook 的方式打开;
  • 可以同时在多个端口启动当前的 jupyter notebook : 我们可以在多个终端会话下启动 jupyter notebook,每次使用不同的 --port 参数。这样的话,如果我有多个工程项目,在不同的目录下,我就可以先切换到各个工程所在目录,然后在该目录下去启动 jupyter notebook,然后在浏览器上打开不同的端口,就可以同时编辑不同的工程项目了。

启动完服务之后,如何关闭该端口的服务呢?有两种方式:

  1. 直接在服务器终端下 ctrl + c 关闭服务;
  2. 在浏览器打开的 jupyter notebook 页面下,点击 quit 按钮即可。

References

Donate comment here