前置条件:(本例中为Cent OS7)安装好 jupyter notebook;例如安装在 /home/me 目录下、端口设置为8888
操作目录:jupyter_notebook_config.py 所在目录
问题类型一、服务器端 运行 jupyter notebook 报错
1. 提示Running as root is not recommeded. 如下图:
[C 10:20:53.426 NotebookApp] Running as root is not recommended. Use --allow-root to bypass.
原因:一般是因为 jupyter 安装在非 root用户的目录下,故默认不支持Cent OS 用户直接运行。此时实际上 jupyter notebook 服务并未启动,故使用不了。
解决方法:按提示加入命令参数即可(或切换到 非 root 用户,也可以)
jupyter notebook --allow-root
[C 10:17:49.786 NotebookApp] Bad config encountered during initialization:
[C 10:17:49.786 NotebookApp] No such notebook dir: u'/home/caihao/ipython'
最后是这两行,上面还有一大串
原因:检查配置文件,发现 c.NotebookApp.notebook_dir = u'/home/me/ipython',该目录在 Cent OS 中不存在。
解决方法:手动创建目录即可
问题类型二、无法访问(假设地址为:192.168.20.2)
1. 浏览器输入 192.168.20.2:8888,报超时错误 ERR_TIME_OUT,客户端访问时,服务器端无提示输出
原因:防火墙拦截 。
解决方法:关闭防火墙,或设置开放指定端口(推荐)。
①关闭防火墙
[root@centos .jupyter]# systemctl stop firewalld.service
②设置开放指定端口,重启防火墙
[root@server240 .jupyter]# firewall-cmd --zone=public --add-port=8888/tcp --permanent
success
[root@server240 .jupyter]# systemctl restart firewalld.service
[W 10:59:32.921 NotebookApp] SSL Error on 20 ('172.31.159.149', 60102): [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:579)
原因:我的jupyter配置了 ssl 加密,客户端浏览器访问时默认是 http://xxxxx,故拒绝访问。
解决方法:浏览器地址 加上 "https:" 即可
3. 浏览器输入 192.168.20.2:8888 ,成功进入登录界面,但输入密码后,报 404 Not Found错误,页面空白。
原因:登录成功说明 jupyter notebook 服务正常启动了,404 找不到页面是因为 工作目录有问题。核查后,发现配置文件 jupyter_notebook_conifg.py 中缺少对工作目录的设置
解决方法:在 jupyter_notebook_config.py 中配置 工作目录 ,即加入如下一行:
c.NotebookApp.notebook_dir = u'/home/me/ipython'
此时配置文件的完整内容如下:
c.NotebookApp.ip='*'
c.NotebookApp.password = u'sha1:ce1b91965355:c5acf3d59b844c67d0e9a6b038eda7e1ad830ee1'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888
c.NotebookApp.certfile = u'/home/me/.jupyter/mycert.pem'
c.NotebookApp.notebook_dir = u'/home/me/ipython'
不定期更新,欢迎有新问题共同讨论