欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Jupyter Notebook远程登录及自定义配置

程序员文章站 2022-05-29 07:53:49
...

本文最后修改于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远程访问即可,登录界面需要输入设置的密码。

注意一定要确保端口是否打开,如果使用阿里云等服务,还要确保供应商的安全策略下端口是否打开,这块就不在本文讨论范围内啦,有问题可以留言。