Jupyter Notebook远程登录及自定义配置
本文最后修改于2018-01-22,文章有问题或者转载请及时联系本人,如果对你有帮助,别忘了点下关注和喜欢,感谢!
0 背景
anaconda的Jupyter Notebook使用越来越普遍,但是默认形式的配置(默认目录,是否自动打开浏览器,端口等)未必是大家所适应的,本文即基于这样的问题,介绍Jupyter Notebook的自定义配置,以及如何远程登录Jupyter Notebook。
1 Jupyter Notebook自定义配置
类似于其他可以自定义配置的软件一样,Jupyter Notebook也有自己的配置文件,但是默认是不存在的,需要我们自己手动生成。我们可以使用以下命令生成配置文件。
# linux和mac系统打开终端
# windows系统打开anaconda自带的终端
jupyter notebook --generate-config
根据系统不同生成的文件所在位置也不同,mac和linux系统都在~/.jupyter
目录下,windows也在当前用户目录下的.jupyter
目录。名称为jupyter_notebook_config.py
,几乎所有的配置都是在这一个文件中完成。
2 个性化配置
有了配置文件,我们就可以就可以进行个性化配置。使用编辑器打开配置文件,如果想要改变默认目录,在文件中搜索c.NotebookApp.notebook_dir
,在后边填写你期望的默认目录。如果你想改变端口,搜索NotebookApp.port
更改即可。注意,默认这些配置都是被注释掉的,你在更改后必须去掉这行前边的#
符号。
3 设置Jupyter Notebook远程登录(选)
有时候我们想让Jupyter Notebook运行在服务器上,但是我们又想在本机通过浏览器操作,如何实现呢?
首先,我们为远程的Jupyter Notebook创建密码,打开IDE或者命令行,输入如下命令:
from notebook.auth import passwd
passwd()
# 此时需要输入两次密码(一次设置,一次确认),然后生成sha1的密文,拷贝下来。
# Enter password: ········
# Verify password: ········
# sha1:b11ba7ae862e:6eeb922ef6b770e43a1c90922ba341faaaaaaaa
如果提示notebook模块不存在,那么使用conda install noteobok来安装。
输入passwd()后需要两次键入密码,之后会产生一段密文,复制这段密文(包含sha1:),找到下列行,修改配置文件如下:
c.NotebookApp.ip='*' # 允许所有ip访问
c.NotebookApp.password = u'sha1:...刚才复制的那个密文'
c.NotebookApp.open_browser = False # 是否打开浏览器
c.NotebookApp.port = 8888 #指定端口
之后,在服务器上使用jupyter notebook
启动,然后本机通过http://address_of_remote:8888
远程访问即可,登录界面需要输入设置的密码。
注意一定要确保端口是否打开,如果使用阿里云等服务,还要确保供应商的安全策略下端口是否打开,这块就不在本文讨论范围内啦,有问题可以留言。
推荐阅读