先说一下我的环境,ubuntu16.04, python2.7。我之前用apt安装过ipython,版本应该是2点几,记不太清了,2.4吧。使用ipython正常,也没有报错。 之后我用pip(9.0)安装jupyter notebook,显示安装成功了,jupyter notebook也能运行成功,但是无法打开.ipynb文件,总是提示要kernel restart,但是总是启动失败。控制台提示:”ImportError: No module named shutil_get_terminal_size”。
我试过以下解决方案: 1:用pip安装shutil_get_terminal_size,但显示已经安装过这个模块了
2:用apt卸载ipython,用pip卸载jupyter,总之把ipython,jupyter相关的都卸载,使用命令:
pip install --upgrade setuptools pip再用pip把jupyter安装一遍,仍然是老问题,值得一提的是,jupyter会自动安装ipython5.3.0。
之后我尝试了如下解决方案,解决了问题:
1 进入/usr/local/lib/python2.7/dist-packages/IPython/utils/文件夹 2 打开 terminal.py文件,注释如下语句:
from backports.shutil_get_terminal_size import get_terminal_size as _get_terminal_size再这行语句下添加:
from shutil_backports import get_terminal_size as _get_terminal_size最后,要是这样子的:
except ImportError: #use backport on Python 2 #from backports.shutil_get_terminal_size import get_terminal_size as _get_terminal_size from shutil_backports import get_terminal_size as _get_terminal_size保存后,jupyter notebook就可以正确运行了。个人推测还是python版本问题,如果用python3的话,应该就没有这种问题了。
