macOS升级后jupyter notebook报错解决

  1. 云栖社区>
  2. 博客>
  3. 正文

macOS升级后jupyter notebook报错解决

王树义 2017-05-21 21:38:00 浏览1212

我一般不太关注App Store的升级提示,但是看见了就升级。这倒不是为了赶时髦,而是我知道不升级的话,系统漏洞可能会被攻击。

之前的macOS升级还都比较顺利。软件兼容性也都没啥问题。

今天不一样了。

img_bec7e2522760ddb40ed85892abf93aaf.jpe

升级到了10.12.5后,像往常一样执行:

jupyter notebook

结果突然报错,吓了我一跳:

0:97: execution error: “"http://localhost:8889/tree?token=760a6d28d716f1671f0cf72f82a3cd5db958743fa86112f4"”不理解“open location”信息。 (-1708)

对我来说,Jupyter Notebook属于学习工作必需品。大意不得。

好在看了看信息,似乎服务已经在端口8888上面运行了。

只是平时执行上述命令,Chrome就能自动弹出来,开启笔记本列表。现在好像这一步出问题了。没关系,我就手动执行吧。在浏览器里面输入:

 [localhost:8888](http://localhost:8888) 

结果,笔记却没能直接出来。

img_d32bcb77f55fe7295006bb954818db75.jpe

让我输入密码。我设过密码吗?尝试了各种组合,均告失败。

于是我上网查询资料。还好,综合各方观点,找到了解决办法。

我遭遇的是两个问题:

  1. jupyter近期更新了安全机制,默认需要输入密码才能使用;
  2. 浏览器无法自行开启,确实是因为macOS 10.12.5环境的问题。

解决方法很简单。

在Jupyter的配置目录

~/.jupyter

下面新建一个文件,名称是:

jupyter_notebook_config.py

在这个文件里面加入3行代码:

c.NotebookApp.browser = u'Safari'
c.NotebookApp.token = ''
c.NotebookApp.password = ''

保存文件,重新执行:

jupyter notebook

效果是这样的:

img_3a2cf251489eafe10511932e6389051c.jpe

各路豪杰尝试过多种方法,可是目前只有Safari浏览器可以通过这种方式调用。Google Chrome可能还得等几天,看看根据macOS的新版本,Jupyter能否做出一些升级调整。

延伸阅读

作者信息

王树义,大学教师,终身学习者。稍微懂一点儿写作、演讲、Python和机器学习。欢迎微信关注并置顶我的公众号“玉树芝兰”(nkwangshuyi)。