导入错误:找不到shutil_get_terminal_size模块 IPython。

7

在Redhat系统上,我的IPython版本出现了错误。

$ ipython --version

Traceback (most recent call last):

  File "/usr/bin/ipython", line 7, in <module>
    from IPython import start_ipython

  File "/usr/lib/python2.7/site-packages/IPython/__init__.py", line 48, in module

    from .core.application import Application
  File "/usr/lib/python2.7/site-packages/IPython/core/application.py", line 24, in <module>

   from IPython.core import release, crashhandler
  File "/usr/lib/python2.7/site-packages/IPython/core/crashhandler.py", line 28, in module

    from IPython.core import ultratb
  File "/usr/lib/python2.7/site-packages/IPython/core/ultratb.py", line 121, in module

    from IPython.utils.terminal import get_terminal_size
  File "/usr/lib/python2.7/site-packages/IPython/utils/terminal.py", line 27, in module

    import backports.shutil_get_terminal_size
**ImportError: No module named shutil_get_terminal_size**

你能帮助我解决这个问题吗?


2
类似的问题和答案在这里:https://dev59.com/CloU5IYBdhLWcg3wqIO0 - mehrtash
我尝试卸载并重新安装,但问题仍然存在。 - Majid
6个回答

9

根据这个问题,请尝试:

conda config --add channels conda-forge
conda install backports.shutil_get_terminal_size

4

我有和你一样的问题。我通过使用 pip install -U ipython 来更新 IPython 并解决了这个问题。希望能对你有所帮助!


对我来说,我需要使用 pip install --upgrade setuptools pip 升级 pip 和特别的 setuptools,并重新安装(删除并再次安装)ipython。 - Allan Deamon

2
如果您不想使用conda,请尝试以下方法。 pip install https://github.com/chrippa/backports.shutil_get_terminal_size/archive/159e269450dbf37c3a837f6ea7e628d59acbb96a.zip

1

对我来说,卸载/重新安装的方法都没有用。最终对我有用的是由@ternus在上面的评论中建议的:打开(在linux上)/usr/local/lib/python2.7/dist-packages/IPython/utils/terminal.py并更改以下行:

从backports.shutil_get_terminal_size导入get_terminal_size as _get_terminal_size 到

从shutil_backports导入get_terminal_size as _get_terminal_size

参考: https://github.com/ipython/ipython/issues/9656 作者: https://github.com/ihincks


0

0

对我来说,这个方法在 Debian 上有效:

apt-get install python-ipython

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接