IPython console can't locate “backports.shutil_get_terminal_size” and won't load

后端 未结 7 1746
别那么骄傲
别那么骄傲 2020-12-24 03:21

I\'m running Python2.7 on windows 10 doing env and most pkg management with Anaconda. After upgrading a number of packages, my ipython console now fails to start in any IDE

相关标签:
7条回答
  • 2020-12-24 03:28

    Try this

    conda config --add channels conda-forge
    conda install backports.shutil_get_terminal_size
    
    0 讨论(0)
  • 2020-12-24 03:35

    I am on CentOS 7, and I needed to change my terminal.py as shown below.

    On the import statements I messed around with the prefixes and got it to work -

    import os
    import sys
    import warnings
    try:
      from backports import get_terminal_size as _get_terminal_size
    except ImportError:
      # use backport on Python 2
      from shutil_backports import get_terminal_size as _get_terminal_size
    
    0 讨论(0)
  • 2020-12-24 03:35

    Virtualenv can prove very useful in a case like this, and even more specifically, a virtualenv with no global site packages allowed. Rule out many causes just by doing a clean install in an isolated virtualenv.

    In my experience IPython and its dependencies really want to be in the same site. If you have the backports package installed globally but IPython installed in the user roaming site, you might expect runtime import errors such as the ones described in the OP.

    I realize that sometimes we need global site packages but the penalty is a more complicated site and dependency handling within pip/setuptools. Depending on several python configuration and windows environment conditions, your packages may be spread across global sites, user (roaming) sites, and virtualenv sites.

    Rule out weird site problems by building and installing clean in a virtualenv with no access to global or user packages. The virtualenvwrapper and add2virtualenv command can be used to cleanly allow certain global packages.

    0 讨论(0)
  • 2020-12-24 03:36

    The only thing which worked for me was to download the tarball from pypi and run python setup.py install

    It worked like a charm

    0 讨论(0)
  • 2020-12-24 03:43
    • Works for Anaconda Python version Anaconda2-4.2.0-Linux-x86_64.sh
    • Edit the file and get rid the "try" and "except" import statements
    • Add in the new import statement
    • Update config parser => ./conda install configparser
    • Install nbbrowserpdf => .pip install nbbrowserpdf

      vim +22 /home/alienone/anaconda2/lib/python2.7/site-packages/IPython/utils/terminal.py

      from backports import shutil_get_terminal_size as _get_terminal_size

    0 讨论(0)
  • 2020-12-24 03:51

    According to this thread this is due to a bug in conda which leads to a conflict with pip installs and can be solved with a force re-install. For the thread author, $ conda install --force ipython solved the issue, for me it was $ conda install --force backports.

    0 讨论(0)
提交回复
热议问题