jupyter報錯"ImportError: No module named shutil_get_terminal_size"

jupyter notebook 安裝

先說一下我的環境,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的話,應該就沒有這種問題了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章