本文最后修改于 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
远程访问即可,登录界面需要输入设置的密码.
注意一定要确保端口是否打开,如果使用阿里云等服务,还要确保供应商的安全策略下端口是否打开,这块就不在本文讨论范围内啦,有问题可以留言.
来源: http://www.jianshu.com/p/2f84e9fddf91