启动Jupyter Notebook遇AttributeError错误,求解决方案
解决Jupyter Notebook启动时的
AttributeError: 'IOLoop' has no attribute 'initialized'问题 嘿,这个问题我之前踩过坑!本质是你的pyzmq(ZeroMQ的Python绑定库)和tornado(Jupyter依赖的Web框架)版本不兼容——旧版pyzmq调用了tornado中已经被移除的IOLoop.initialized()方法,才触发了这个报错。下面是几个靠谱的解决办法,按顺序试就行:
方法一:升级pyzmq到兼容版本
这是最直接的修复方式,打开终端执行以下命令更新pyzmq:pip install --upgrade pyzmq升级完成后,再输入
jupyter notebook启动试试,大概率能直接解决问题。方法二:如果升级pyzmq无效,尝试降级tornado
有时候新版本tornado会和Anaconda环境里的其他依赖冲突,这时可以把tornado降到一个保留了IOLoop.initialized()方法的版本,比如5.x系列:pip install tornado==5.1.1安装完成后重新启动Jupyter Notebook即可。
方法三:重置Anaconda环境(终极方案)
如果上面两种方法都没效果,说明你的环境依赖已经乱得比较严重了,不如直接新建一个干净的conda环境:- 创建名为
jupyter-env的新环境(同时预装Jupyter):conda create -n jupyter-env python=3.6 jupyter notebook - 激活这个新环境:
conda activate jupyter-env - 启动Jupyter Notebook:
jupyter notebook
这个方法能彻底清除依赖冲突,适合环境问题比较复杂的情况。
- 创建名为
启动成功后,Jupyter会自动在Chrome打开localhost的页面;如果没自动跳转,你可以把终端里显示的类似http://localhost:8888/?token=xxx的链接复制到Chrome地址栏手动打开。
内容的提问来源于stack exchange,提问作者martins
相关产品推荐
相关产品推荐

