配置远程jupyter notebook

配置远程jupyter notebook

https://cloud.tencent.com/developer/article/1365548
https://zhuanlan.zhihu.com/p/69869583
这两篇文章基本上解决了我所有的问题。

远程服务器上安装anaconda

下载对应的anaconda包,我觉得最好下载anaconda而不是miniconda,毕竟离线安装包的感觉不太好

以netCDF4为例,离线使用anaconda安装netCDF4

首先可以在anaconda cloud下载netcdf4,注意要找到合适的版本,我之前找错了,结果导致import netCDF4时,不能import,最后是在我本地电脑J(ubuntu)上conda install netcdf4,找到合适的版本以及依赖。如netcdf4依赖libnetcdf, cftime, hdf4等。

下载好包好,上传到服务器,然后conda install --use-local pkgs,--use-local是要conda安装本地下载好的包。注意这样就只是安装,并不会检查依赖关系,但幸好当import netCDF4时,会提示那些包被netcdf4所依赖。

关闭jupyter notebook自动打开浏览器选项

在jupyte notebook配置文件中修改open_browser为False,不然远程服务器上可能打开文本浏览器w3m,要手动关闭,有点麻烦。

访问远程jupyter notebook

使用 ssh -L 8000:localhost:8888 username@server_ip

访问远程服务器,然后在键入 jupyter notebook

在本地浏览器中键入 https://localhost:8000

第一次可能要求输入token或者密码,可以从服务器的输出中得到token,也可以设置密码,这样就不需要token

可以查看jupyter notebook官网找到关于远程服务器的更多内容。

Note:

这只适用于一个人使用,若要多人使用,需要使用jupyter hub

远程服务器可以通过jupyter notebook --generate-config生成或恢复默认设置,可以修改
参考
优雅地使用VS code ( 远程Remote篇 ) - VitoRazor的文章 - 知乎
https://zhuanlan.zhihu.com/p/54149717
添加到~/.jupyter/jupyter_notebook_config.py
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888
c.NotebookApp.allow_remote_access = True

如果觉得token有点烦,可以使用jupyter notebook password命令使用密码登录

posted @ 2020-05-08 11:04  gujianmu  阅读(261)  评论(0编辑  收藏  举报