重要的事情说三遍!没事不要随意使用升级命令(–upgrade)对 jupyter notebook的各种包!!!
重要的事情说三遍!没事不要随意使用升级命令(–upgrade)对 jupyter notebook的各种包!!!
重要的事情说三遍!没事不要随意使用升级命令(–upgrade)对 jupyter notebook的各种包!!!

好了,现在回到主题这里,因为看jupyter notebook自带的主题觉得眼睛太累,就打算换掉它。于是在命令行里面输入如下命令:

pip install --upgrade jupyterthemes

然后。。。惊喜出现,一部debug的连续剧就这样开始了!

  1. ImportError:cannot import name 'ensure_dir_exists’
    当掌柜安装好刚刚的主题包后,重启jupyter发现出现闪退现象,在cmd里面输入jupyer notebook出现了如下的第一个bug:

    于是一搜发现遇到这个问题的人还蛮多的,解决办法都是更新jupyter_core和jupyter_client 这两个地方。

    就在管理员模式的anaconda prompt里面更新命令,结果跳出来了第二个bug😂:
  2. RemoveError:‘setuptools’ is a dependency of conda and cannot be removed from conda’s operating environment.
    继续搜寻解决办法,发现只需要输入conda update --force conda 命令就可以解决


    好了,第二个bug解决了,但是重启jupyter的时候还是报第一个bug的错误,让掌柜开始纳闷怎么回事?为啥别人能解决的方法到掌柜这里又不行了?

    掌柜就翻到jupyterthemes的官方仓库去看,果真也有遇到这个问题的朋友。出现这个bug的原因就是jupyter_core的版本不符合。看官方的解释是要“jupyter_core的版本>=4.4.0”才行。

    然后去查看自己的jupyter_core版本,发现是4.3.0的,怪不得会报错:

    所以解决办法就是 升级jupyter_core。 使用的命令是:
pip install jupyter-core --upgrade 

成功升级jupyter_core:

再次输入 jupyter notebook重启,结果华丽丽的迎来了第三和第四个bug。你没看错,这次爆双了:

3. ModuleNotFoundError: No module named ‘pywin32_bootstrap’
4. AttributeError: type object ‘IOLoop’ has no attribute 'initialized’

先说第三个bug的解决办法:根据提示应该是缺少pywin32模块,所以安装即可。使用如下命令:

pip install pywin32==225

但是安装的时候意外爆出来第五个bug。。。

5. PermissionError:[WinError 5]拒绝访问…
拒绝访问。。这个经典的问题。。。
解决办法很简单,一种就是在安装的包前面加一个 --user

pip install --user package_name

就可以解决!!!
另一种就是管理员账户安装即可。
OK,使用第一种办法成功解决第三个bug和第五个bug。

现在说回第四个bug的解决办法,根据搜索到的办法,一般都是把tornado降级到4.5.3版本或以下即可。 不过掌柜这里一搜发现自己的tornado已经是4.5.2。

显然这个办法不能解决该问题,于是继续搜索的掌柜再次来到官方仓库这里,发现了一个同样问题的回答:

就使用

pip install --upgrade pyzmq notebook

命令后重启jupyter。发现终于成功启动并改了主题。。。当时简直是痛哭流涕😭😂:

(你以为后面就这样结束了吗?too naive!!!

debug连续剧未完待续…)