Ipython: Shutil_get_terminal_size рдирд╛рдо рдХрд╛ рдХреЛрдИ рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 23 рдЬреВрди 2016  ┬╖  71рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ipython/ipython

рд╢реБрдн рджрд┐рд╡рд╕,
рдореИрдВ ipykernel рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдХрд░реНрдиреЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗ рд░рд╣рд╛ рд╣реВрдВред рдЬрдм рд╕реЗ рдореИрдВрдиреЗ рдЗрд╕реЗ рдЫреБрдЖ рд╣реИ, рддрдм рд╕реЗ рдХреБрдЫ рд╕рдордп рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЖрдЬ рдЬрдм рдореИрдВрдиреЗ рдЬреНрдпреВрдкрд┐рдЯрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рдПрдХ рдирдпрд╛ рджреЗрд╡ рд╡рд╛рддрд╛рд╡рд░рдг рддреИрдирд╛рдд рдХрд┐рдпрд╛, рддреЛ рдореБрдЭреЗ ipykernel рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рдорд┐рд▓рд╛:

  File "<path to python>/lib/python2.7/site-packages/ipykernel-4.3.1-py2.7.egg/ipykernel/__init__.py", line 2, in <module>
    from .connect import *
  File "<path to python>/lib/python2.7/site-packages/ipykernel-4.3.1-py2.7.egg/ipykernel/connect.py", line 13, in <module>
    from IPython.core.profiledir import ProfileDir
  File "<path to python>/lib/python2.7/site-packages/ipython-5.0.0b4-py2.7.egg/IPython/__init__.py", line 48, in <module>
    from .core.application import Application
  File "<path to python>/lib/python2.7/site-packages/ipython-5.0.0b4-py2.7.egg/IPython/core/application.py", line 24, in <module>
    from IPython.core import release, crashhandler
  File "<path to python>/lib/python2.7/site-packages/ipython-5.0.0b4-py2.7.egg/IPython/core/crashhandler.py", line 28, in <module>
    from IPython.core import ultratb
  File "<path to python>/lib/python2.7/site-packages/ipython-5.0.0b4-py2.7.egg/IPython/core/ultratb.py", line 126, in <module>
    from IPython.utils.terminal import get_terminal_size
  File "<path to python>/lib/python2.7/site-packages/ipython-5.0.0b4-py2.7.egg/IPython/utils/terminal.py", line 22, in <module>
    from backports.shutil_get_terminal_size import get_terminal_size as _get_terminal_size
ImportError: No module named shutil_get_terminal_size

рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХрд┐ рдореЗрд░реЗ IPython рдФрд░ ipykernel рдХреЗ рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рдж рд╕реЗ рдХреБрдЫ рдмрджрд▓ рдЧрдпрд╛ рд╣реИред рдХреБрдЫ рдкрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИ? рдореИрдВ рдкрд╛рдпрдерди 2.7.10 рдХреЗ рд╕рд╛рде рдУрдПрд╕рдПрдХреНрд╕ рдмреЙрдХреНрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдмреЗрд╕реНрдЯ, рдСрд░реЗрд▓рд┐рдпрди

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдХрд┐рд╕реА рддрд░рд╣ рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдмрд┐рдирд╛ IPython рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдореБрдЭреЗ рдЕрдВрдбреЗ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рдХрд╛ рд╢рд╛рдпрдж рдпрд╣ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ setuptools рдХрд╛ рдПрдХ рдмрд╣реБрдд рдкреБрд░рд╛рдирд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдФрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк easy_install рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реЛрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЪреАрдЬрд╝реЗрдВ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╣рд╛рд▓рд┐рдпрд╛ рдкреАрдЖрдИрдкреА/рд╕реЗрдЯрдЕрдкрдЯреВрд▓ рд╣реИрдВ:

pip install --upgrade setuptools pip

рдлрд┐рд░, IPython рдХреЛ pip рдХреЗ рд╕рд╛рде рдкреБрди: рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ (рдХрднреА рднреА easy_install рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ, рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рд╣реИ рдХрд┐ pip рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛/рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдпреЗ рдорд╛рдорд▓реЗ рджреБрд░реНрд▓рдн рд╣реИрдВ):

pip uninstall ipython
pip install ipython

рд╕рднреА 71 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдХрд┐рд╕реА рддрд░рд╣ рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдмрд┐рдирд╛ IPython рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдореБрдЭреЗ рдЕрдВрдбреЗ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рдХрд╛ рд╢рд╛рдпрдж рдпрд╣ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ setuptools рдХрд╛ рдПрдХ рдмрд╣реБрдд рдкреБрд░рд╛рдирд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдФрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк easy_install рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реЛрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЪреАрдЬрд╝реЗрдВ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╣рд╛рд▓рд┐рдпрд╛ рдкреАрдЖрдИрдкреА/рд╕реЗрдЯрдЕрдкрдЯреВрд▓ рд╣реИрдВ:

pip install --upgrade setuptools pip

рдлрд┐рд░, IPython рдХреЛ pip рдХреЗ рд╕рд╛рде рдкреБрди: рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ (рдХрднреА рднреА easy_install рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ, рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рд╣реИ рдХрд┐ pip рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛/рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдпреЗ рдорд╛рдорд▓реЗ рджреБрд░реНрд▓рдн рд╣реИрдВ):

pip uninstall ipython
pip install ipython

рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдордиреЗ рдкреИрдХреЗрдЬ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдбрд╝реА рд╣реИ backports.shutil_get_terminal_size ред

рдЖрдкрдХреА рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рд╣рд╛рд▓рд╛рдВрдХрд┐, рд░рд╣рд╕реНрдп рдЧрд╣рд░рд╛рддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдЬреНрдпреВрдкрд┐рдЯрд░ рдХреЛ рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рд╕реЗрдЯрдЕрдкрдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЬреБрдкрд┐рдЯрд░ рдХреЛ рдПрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдкрд░рд┐рдгрд╛рдо

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╣рдо рдПрдХ рдмреЗрдпрд░рдмреЛрди рдкрд╛рдпрдерди 2.7.11 рджреБрднрд╛рд╖рд┐рдпрд╛ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рддреАрди рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ:

$ pip list
pip (8.1.2)
setuptools (23.1.0)
virtualenv (15.0.2)

рдЕрдЧрд░ рдореИрдВ Jupyter рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдкрд┐рдк рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрдХреБрд▓ рдорд┐рд▓рддреА рд╣реИ:

$ pip install jupyter
<long output>
$ pip list
appnope (0.1.0)
backports-abc (0.4)
backports.shutil-get-terminal-size (1.0.0)
backports.ssl-match-hostname (3.5.0.1)
certifi (2016.2.28)
configparser (3.5.0)
decorator (4.0.10)
entrypoints (0.2.2)
functools32 (3.2.3.post2)
gnureadline (6.3.3)
ipykernel (4.3.1)
ipython (4.2.0)
ipython-genutils (0.1.0)
ipywidgets (5.1.5)
Jinja2 (2.8)
jsonschema (2.5.1)
jupyter (1.0.0)
jupyter-client (4.3.0)
jupyter-console (4.1.1)
jupyter-core (4.1.0)
MarkupSafe (0.23)
mistune (0.7.2)
nbconvert (4.2.0)
nbformat (4.0.1)
notebook (4.2.1)
pathlib2 (2.1.0)
pexpect (4.1.0)
pickleshare (0.7.2)
pip (8.1.2)
ptyprocess (0.5.1)
Pygments (2.1.3)
pyzmq (15.2.0)
qtconsole (4.2.1)
setuptools (23.1.0)
simplegeneric (0.8.1)
singledispatch (3.4.0.3)
six (1.10.0)
terminado (0.6)
tornado (4.3)
traitlets (4.2.1)
wheel (0.29.0)
widgetsnbextension (1.2.3)

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд setup.py рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреБрдкрд┐рдЯрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ (рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореИрдВ рддреАрди рдЖрдзрд╛рд░ рдореЙрдбреНрдпреВрд▓ pip , setuptools рд╕рд╛рде рдПрдХ рдирдП 2.7.11 рджреБрднрд╛рд╖рд┐рдпрд╛ рд╕реЗ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рддрд╛ рд╣реВрдВред virtualenv ):

#!/usr/bin/env python
import setuptools
setuptools.setup(
    ...
    install_requires = [
        "jupyter"],
   ...

... рддреЛ рдпрд╣ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ:

$ pip list
pip (8.1.2)
setuptools (23.1.0)
virtualenv (15.0.2)
$ ./setup.py install
<long output>
Searching for entrypoints
Reading https://pypi.python.org/simple/entrypoints/
No local packages or download links found for entrypoints
error: Could not find suitable distribution for Requirement.parse('entrypoints')
make: *** [install] Error 1

рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ _did_ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреЗ рд╕рдордп рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ ipython рдФрд░ jupyter-console рдЕрдм рдЙрдкрд░реЛрдХреНрдд рдХреЗ рд░реВрдк рдореЗрдВ 4.2.0 рдФрд░ 4.1.1 рдХреЗ рдмрдЬрд╛рдп рдХреНрд░рдорд╢рдГ 5.0.0b4 рдФрд░ 5.0.0b1 рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВред рдЬреБрдкрд┐рдЯрд░ рдХреЛ рдкрд╛рдЗрдк рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордпред рдпрд╣рд╛рдБ рдкреИрдХреЗрдЬ рд╣реИрдВ:

$ pip list
ipykernel (4.3.1)
ipython (5.0.0b4)
ipywidgets (5.1.5)
jupyter (1.0.0)
jupyter-client (4.3.0)
jupyter-console (5.0.0b1)
nbconvert (4.2.0)
notebook (4.2.1)
pip (8.1.2)
qtconsole (4.2.1)
setuptools (23.1.0)
tornado (4.3)
traitlets (4.2.1)
wheel (0.29.0)
widgetsnbextension (1.2.3)

рдореБрдЭреЗ рдпрд╣рд╛рдВ рдХреБрдЫ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ред рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдХреНрдпреЛрдВ jupyter рдПрдХ setuptools -рд╕рдВрдЪрд╛рд▓рд┐рдд setup.py рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╣рд╛рдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ?

рд╢реНрд░реЗрд╖реНрда,
рдСрд░реЗрд▓рд┐рдпрди

рдЗрд╕рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдЗрдк рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ (рдкреБрд░рд╛рдиреЗ рд╕реЗрдЯрдкреВрд▓ рдХреЗ рдХрд╛рд░рдг рдПрдХ рдЬреНрдЮрд╛рдд рдмрдЧ) рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЖрдпрд╛рдд рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рд╢рд╛рдпрдж рд╕реЗрдЯрдЕрдкрдЯреВрд▓ рдХреЛ рдПрдХ рдЕрд▓рдЧ рд╕рдВрд╕реНрдХрд░рдг рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред рдЖрдкрдХреЛ рдХреНрдпрд╛ рдорд┐рд▓рддрд╛ рд╣реИ:

python -c 'import setuptools; print(setuptools, setuptools.__version__)'

рдФрд░ рднреА:

python -m site

рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рднреА рд╣реИ рдЬреЛ рд╢рд╛рдпрдж рдкрд░рд┐рдЪрд┐рдд рди рд╣реЛ рдХрд┐ рдпрджрд┐ рдЖрдк setup.py рдореЗрдВ setuptools рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдХрднреА рднреА python setup.py install рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреЗрд╡рд▓ pip install . ред

рдпрд╣рд╛рдБ рдЖрдЙрдЯрдкреБрдЯ рд╣реИрдВ:

$ python -c 'import setuptools; print(setuptools, setuptools.__version__)'
(<module 'setuptools' from '/Users/ajmazurie/<path to python>/lib/python2.7/site-packages/setuptools/__init__.pyc'>, '23.1.0')

рддрдерд╛

$ python -m site
sys.path = [
    '/Users/ajmazurie/Data/Professional-MSU/2015.07-MSU-me-Jupyter_in_Classroom/Projects/Callysto/callysto',
    '/Users/ajmazurie/<path to python>/lib/python2.7/site-packages/jupyter-1.0.0-py2.7.egg',
    '/Users/ajmazurie/<path to python>/lib/python2.7/site-packages/ipywidgets-5.1.5-py2.7.egg',
    '/Users/ajmazurie/<path to python>/lib/python2.7/site-packages/ipykernel-4.3.1-py2.7.egg',
    '/Users/ajmazurie/<path to python>/lib/python2.7/site-packages/nbconvert-4.2.0-py2.7.egg',
    '/Users/ajmazurie/<path to python>/lib/python2.7/site-packages/jupyter_console-5.0.0b1-py2.7.egg',
    '/Users/ajmazurie/<path to python>/lib/python2.7/site-packages/qtconsole-4.2.1-py2.7.egg',
    '/Users/ajmazurie/<path to python>/lib/python2.7/site-packages/notebook-4.2.1-py2.7.egg',
    '/Users/ajmazurie/<path to python>/lib/python2.7/site-packages/widgetsnbextension-1.2.3-py2.7.egg',
    '/Users/ajmazurie/<path to python>/lib/python2.7/site-packages/traitlets-4.2.1-py2.7.egg',
    '/Users/ajmazurie/<path to python>/lib/python2.7/site-packages/ipython-5.0.0b4-py2.7.egg',
    '/Users/ajmazurie/<path to python>/lib/python2.7/site-packages/tornado-4.3-py2.7-macosx-10.10-x86_64.egg',
    '/Users/ajmazurie/<path to python>/lib/python2.7/site-packages/jupyter_client-4.3.0-py2.7.egg',
    '/Users/ajmazurie/<path to python>/lib/python27.zip',
    '/Users/ajmazurie/<path to python>/lib/python2.7',
    '/Users/ajmazurie/<path to python>/lib/python2.7/plat-darwin',
    '/Users/ajmazurie/<path to python>/lib/python2.7/plat-mac',
    '/Users/ajmazurie/<path to python>/lib/python2.7/plat-mac/lib-scriptpackages',
    '/Users/ajmazurie/<path to python>/lib/python2.7/lib-tk',
    '/Users/ajmazurie/<path to python>/lib/python2.7/lib-old',
    '/Users/ajmazurie/<path to python>/lib/python2.7/lib-dynload',
    '/Users/ajmazurie/.direnv/pyenv/versions/2.7.11/lib/python2.7',
    '/Users/ajmazurie/.direnv/pyenv/versions/2.7.11/lib/python2.7/plat-darwin',
    '/Users/ajmazurie/.direnv/pyenv/versions/2.7.11/lib/python2.7/lib-tk',
    '/Users/ajmazurie/.direnv/pyenv/versions/2.7.11/lib/python2.7/plat-mac',
    '/Users/ajmazurie/.direnv/pyenv/versions/2.7.11/lib/python2.7/plat-mac/lib-scriptpackages',
    '/Users/ajmazurie/<path to python>/lib/python2.7/site-packages',
]
USER_BASE: '/Users/ajmazurie/.local' (doesn't exist)
USER_SITE: '/Users/ajmazurie/.local/lib/python2.7/site-packages' (doesn't exist)
ENABLE_USER_SITE: False

рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рднреА рд╣реИ рдЬреЛ рд╢рд╛рдпрдж рдкрд░рд┐рдЪрд┐рдд рди рд╣реЛ рдХрд┐ рдпрджрд┐ рдЖрдк setup.py рдореЗрдВ setuptools рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдХрднреА рднреА python setup.py install рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреЗрд╡рд▓ pip install . ред

рдпрд╣ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдФрд░ рдпрд╣ рд╕рдВрдХреЗрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ setuptools рдкрд░ рдЕрдкрдирд╛ рдЬреНрдЮрд╛рди рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рднрд▓реЗ рд╣реА, рдЗрд╕рдиреЗ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░ рджрд┐рдпрд╛! рдКрдкрд░ рдореЗрд░реА setup.py рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╛рд▓реЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ pip install . рдЯрд╛рдЗрдк рдХрд░рдХреЗ, рдореИрдВ рдЬреБрдкрд┐рдЯрд░ рдФрд░ рдЙрд╕рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдзрдиреНрдпрд╡рд╛рдж!

рдПрдХ рд╕рд╛рдЗрдб рдкреНрд░рд╢реНрди рдХреЗ рд░реВрдк рдореЗрдВ, рдЗрд╕рдиреЗ python setup.py install рд╕рд╛рде рдХрд╛рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛? рдореБрдЭреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╕рдВрджрд░реНрдн рдСрдирд▓рд╛рдЗрди рдирд╣реАрдВ рдорд┐рд▓рд╛ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреНрдпреЛрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдмреЗрд╕реНрдЯ, рдСрд░реЗрд▓рд┐рдпрди

python setup.py install easy_install рдЬреИрд╕рд╛ рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред easy_install рдмрд╣реБрдд рд╕рд╛рд░реА рдЕрдкреНрд░рд┐рдп рдЪреАрдЬреЗрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдкрд╛рдЗрдк рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдкрд╢реНрдЪ-рд╕рдВрдЧрддрддрд╛ рдХрд╛рд░рдгреЛрдВ рд╕реЗ, python setup.py install рдЖрдпрд╛рдд рдХрд┐рдП рдЧрдП setuptools рдХреЗ рд╕рд╛рде рд╣рдореЗрд╢рд╛ рдЕрд╡рд╛рдВрдЫрд┐рдд рдЪреАрдЬреЗрдВ рдХрд░реЗрдВрдЧреЗ рдЬреЛ easy_install рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрднреА рднреА рдХреЙрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдХреЗрд╡рд▓ рддрднреА рдорд┐рд▓рддреА рд╣реИ рдЬрдм рдореИрдВ рдПрдирдПрдлрдПрд╕ рдкрд░ рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЧрдП рд╡рд░реНрдЪреБрдЕрд▓рд╡реЗрди рдореЗрдВ рдЖрдИрдкреАрдереЙрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реВрдВред рдХреЛрдИ рд╕реБрд░рд╛рдЧ рдХреНрдпреЛрдВ рдПрдирдПрдлрдПрд╕ рдкрд░ рдПрдХ рд╡реЗрдирд╡ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ?

рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдПрдирдПрдлрдПрд╕ рд╕реЗ рдлрд░реНрдХ рдХреНрдпреЛрдВ рдкрдбрд╝реЗрдЧрд╛, рд▓реЗрдХрд┐рди рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХреЗ рдЕрдВрджрд░ рдкрд╛рдЗрдк рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ, рдФрд░ рдпрджрд┐ рдпрд╣ рдирд╡реАрдирддрдо рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:

pip install --upgrade setuptools pip

@takluyver рд╡рд╣реА рдкрд╛рдЗрдк рдЬреЛ "рд╕рд╛рдорд╛рдиреНрдп" рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ ipython рдареАрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ NFS рдкрд░ рдареАрдХ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдФрд░ рд╣рд╛рдБ, рдпрд╣ рдкрд┐рдк рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╣реИред

рд╡рд┐рдЪрд┐рддреНрд░ред рдкрддрд╛ рдирд╣реАрдВ рдХреНрдпреЛрдВ NFS рдЙрд╕ рдкрд░ рдкреНрд░рднрд╛рд╡ рдбрд╛рд▓реЗрдЧрд╛ред

рдирд╡реАрдирддрдо pip (8.1.2) рдФрд░ рдирд╡реАрдирддрдо setuptools (25.1.6) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛рдпрдерди 2.7 рдХреЗ рд╕рд╛рде рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднреА рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреБрдЫ рдФрд░ рд╣реЛ рд░рд╣рд╛ рд╣реИ?

backports.shutil_get_terminal_size рдХреЛ pip рдкрд╣рд▓реЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рднрд╛рд╡реА рд╕рдорд╛рдзрд╛рди рдерд╛ред

рдЬреИрд╕рд╛ рдХрд┐ рдХрд╣реАрдВ рдФрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, backports.shutil_get_terminal_size рддреНрд░реБрдЯрд┐ рдФрд░ entrypoints рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП PR (https://github.com/paulgb/runipy/pull/125) рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦреЗрдВред рдкрд╣рд▓реА рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдкрд╣рд▓реА рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рддреА рд╣реИ рдФрд░ рджреВрд╕рд░реА рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рджреВрд╕рд░реА рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рддреА рд╣реИред рджреЛрдиреЛрдВ рд╣реА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдореИрдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ рдкрд╣рд▓реЗ 3 CI рдмрд┐рд▓реНрдб рд░реБрдЪрд┐ рдХреЗ рд╣реИрдВред рдпреЗ рд╕рднреА 3 рд╕рдм рдХреБрдЫ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП setuptools рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рд╕реЗрдЯрдЕрдкрдЯреВрд▓ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред рдкрд╛рдЗрдк рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ (рдЬреИрд╕рд╛ рдХрд┐ рд╣рдореЗрд╢рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП) рдЗрд╕реЗ рдареАрдХ рдХрд░ рджреЗрдЧрд╛ ред

рдореБрдЭреЗ 100% рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕реЗрдЯрдЕрдкрдЯреВрд▓ рдХреНрдпрд╛ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдлрд▓ рд░рд╣рд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ред

рдореБрдЭреЗ рдмрд╕ рдПрдХ рд╣реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИ IPython (Jupyter рдирд╣реАрдВ) рдХреЛ рдПрдХ рддрд╛рдЬрд╝рд╛ 2.7.3 рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ред IPython рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рд▓реЗрдХрд┐рди pathlib2 рдФрд░ рдлрд┐рд░ backports.shutil-get-terminal-size рдЧрд╛рдпрдм рдерд╛ред рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд╢реНрдЪрд┐рдд рдирд┐рд░реНрднрд░рддрд╛ рдкрд░ pip install рдХрд░рдирд╛ рдФрд░ IPython рдЕрдм рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред

$ pip freeze
nose==1.3.7
numpy==1.8.0
pyreadline==2.1
wsgiref==0.1.2

$ pip install ipython
[...]
Successfully installed ipython setuptools decorator pickleshare simplegeneric traitlets prompt-toolkit pygments pexpect ipython-genutils six wcwidth ptyprocess
Cleaning up...

$ pip freeze
Pygments==2.1.3
decorator==4.0.10
ipython==5.0.0
ipython-genutils==0.1.0
nose==1.3.7
numpy==1.8.0
pexpect==4.2.0
pickleshare==0.7.3
prompt-toolkit==1.0.5
ptyprocess==0.5.1
pyreadline==2.1
simplegeneric==0.8.1
six==1.10.0
traitlets==4.2.2
wcwidth==0.1.7
wsgiref==0.1.2

$ ipython
[...]
pkg_resources.DistributionNotFound: The 'pathlib2' distribution was not found and is required by ipython

$ pip install pathlib2

$ ipython
[...]
pkg_resources.DistributionNotFound: The 'backports.shutil_get_terminal_size' distribution was not found and is required by ipython

$ pip install backports.shutil_get_terminal_size

$ pip freeze
Pygments==2.1.3
backports.shutil-get-terminal-size==1.0.0
decorator==4.0.10
ipython==5.0.0
ipython-genutils==0.1.0
nose==1.3.7
numpy==1.8.0
pathlib2==2.1.0
pexpect==4.2.0
pickleshare==0.7.3
prompt-toolkit==1.0.5
ptyprocess==0.5.1
pyreadline==2.1
simplegeneric==0.8.1
six==1.10.0
traitlets==4.2.2
wcwidth==0.1.7
wsgiref==0.1.2

$ ipython
Python 2.7.3 (default, Aug 11 2016, 11:06:04) 
Type "copyright", "credits" or "license" for more information.

IPython 5.0.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: 

рдХреНрдпрд╛ рдЖрдк pip --version ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╛рдЗрдк рдХрд╛ рдмрд╣реБрдд рдкреБрд░рд╛рдирд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред

рд╣рд╛рдБ рдЖрдк рд╕рд╣реА рд╣реИрдВред рдореИрдВ рдкрд┐рдк 1.4.1 рдкрд░ рдерд╛ред

рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХреЛ рдкрд╛рдЗрдк 8.1.2 рдФрд░ IPython 5.0.0 рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЕрднреНрдпрд╛рд╕ рдХреЛ рджреЛрд╣рд░рд╛рдпрд╛ред

$ pip freeze
backports.shutil-get-terminal-size==1.0.0
decorator==4.0.10
ipython==5.0.0
ipython-genutils==0.1.0
numpy==1.8.0
pathlib2==2.1.0
pexpect==4.2.0
pickleshare==0.7.3
prompt-toolkit==1.0.5
ptyprocess==0.5.1
Pygments==2.1.3
simplegeneric==0.8.1
six==1.10.0
traitlets==4.2.2
wcwidth==0.1.7

рдореБрдЭреЗ OS X рдкрд░ рднреА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ:

cternus<strong i="6">@astarael</strong>:~тЯл ipython
Traceback (most recent call last):
  File "/usr/local/bin/ipython", line 7, in <module>
    from IPython import start_ipython
  File "/usr/local/lib/python2.7/site-packages/IPython/__init__.py", line 48, in <module>
    from .core.application import Application
  File "/usr/local/lib/python2.7/site-packages/IPython/core/application.py", line 25, in <module>
    from IPython.core import release, crashhandler
  File "/usr/local/lib/python2.7/site-packages/IPython/core/crashhandler.py", line 28, in <module>
    from IPython.core import ultratb
  File "/usr/local/lib/python2.7/site-packages/IPython/core/ultratb.py", line 128, in <module>
    from IPython.utils.terminal import get_terminal_size
  File "/usr/local/lib/python2.7/site-packages/IPython/utils/terminal.py", line 22, in <module>
    from backports.shutil_get_terminal_size import get_terminal_size as _get_terminal_size
ImportError: No module named shutil_get_terminal_size
cternus<strong i="7">@astarael</strong>:~тЯл pip freeze | grep shutil
backports.shutil-get-terminal-size==1.0.0
cternus<strong i="8">@astarael</strong>:~тЯл pip freeze | grep ipython
ipython==5.0.0
ipython-genutils==0.1.0
cternus<strong i="9">@astarael</strong>:~тЯл python -m site
sys.path = [
    '/Users/cternus',
    '/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
    '/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
    '/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
    '/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
    '/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
    '/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
    '/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
    '/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
    '/usr/local/lib/python2.7/site-packages',
    '/Library/Python/2.7/site-packages',
    '/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages',
]
USER_BASE: '/Users/cternus/Library/Python/2.7' (doesn't exist)
USER_SITE: '/Users/cternus/Library/Python/2.7/lib/python/site-packages' (doesn't exist)
ENABLE_USER_SITE: True

рдореИрдВрдиреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХрд┐рд╕реНрдордд рдХреЗ sudo pip install --upgrade --force-reinstall ipython (рд╕рд╛рде рд╣реА рдкрд╛рдЗрдк рдФрд░ рд╕реЗрдЯрдЕрдкрдЯреВрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ) рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред

рдХреБрдЫ рдЬрд╛рдВрдЪ рдХреЗ рдмрд╛рдж, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ backports.shutil_get_terminal_size рдореЙрдбреНрдпреВрд▓ рд╣реА рдЧрд▓рддреА рдкрд░ рд╣реИ:

cternus<strong i="7">@astarael</strong>:/usr/local/lib/python2.7/site-packagesтЯл python
Python 2.7.12 (default, Jun 29 2016, 14:05:02)
[GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import backports
>>> dir(backports)
['__doc__', '__name__', '__path__']
>>> import backports.shutil_get_terminal_size
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named shutil_get_terminal_size
>>>
cternus<strong i="8">@astarael</strong>:/usr/local/lib/python2.7/site-packagesтЯл ls backports
__init__.py              functools_lru_cache.py   shutil_get_terminal_size
cternus<strong i="9">@astarael</strong>:/usr/local/lib/python2.7/site-packagesтЯл ls backports/shutil_get_terminal_size
__init__.py           __init__.pyc          get_terminal_size.py  get_terminal_size.pyc
cternus<strong i="10">@astarael</strong>:/usr/local/lib/python2.7/site-packagesтЯл

рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ backports рдореЙрдбреНрдпреВрд▓ рд╕реНрд╡рдпрдВ рдХреЗ рджреЛ (рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ?!) рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ:

root<strong i="15">@astarael</strong>:/usr/local/lib/python2.7/site-packages/backportsтЯл pip show --no-cache -vf backports.shutil-get-terminal-size
---
Metadata-Version: 2.0
Name: backports.shutil-get-terminal-size
Version: 1.0.0
Summary: A backport of the get_terminal_size function from Python 3.3's shutil.
Home-page: https://github.com/chrippa/backports.shutil_get_terminal_size
Author: Christopher Rosell
Author-email: [email protected]
Installer: pip
License: MIT
Location: /usr/local/lib/python2.7/site-packages
Requires:
Classifiers:
  Development Status :: 5 - Production/Stable
  License :: OSI Approved :: MIT License
  Programming Language :: Python :: 2.6
  Programming Language :: Python :: 2.7
  Programming Language :: Python :: 3.2
Files:
  backports.shutil_get_terminal_size-1.0.0.dist-info/DESCRIPTION.rst
  backports.shutil_get_terminal_size-1.0.0.dist-info/INSTALLER
  backports.shutil_get_terminal_size-1.0.0.dist-info/METADATA
  backports.shutil_get_terminal_size-1.0.0.dist-info/RECORD
  backports.shutil_get_terminal_size-1.0.0.dist-info/WHEEL
  backports.shutil_get_terminal_size-1.0.0.dist-info/metadata.json
  backports.shutil_get_terminal_size-1.0.0.dist-info/top_level.txt
  backports/__init__.py
  backports/__init__.pyc
  backports/shutil_get_terminal_size/__init__.py
  backports/shutil_get_terminal_size/__init__.pyc
  backports/shutil_get_terminal_size/get_terminal_size.py
  backports/shutil_get_terminal_size/get_terminal_size.pyc
  shutil_backports/__init__.py
  shutil_backports/__init__.pyc
  shutil_backports/get_terminal_size.py
  shutil_backports/get_terminal_size.pyc

рдФрд░ shtil_backports.get_terminal_size рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП IPython/utils/terminal.py рдХреЛ рдкреИрдЪ рдХрд░рдирд╛ред рдЬрд╛рдУ рдкрддрд╛ рд▓рдЧрд╛рдУред

рдирдорд╕реНрддреЗ,

рдореБрдЭреЗ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдореЗрдВ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рдереАред рдореИрдВ jupyter рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ред

рдореИрдВ рд▓рд╛ рд░рд╣реА рдереА
рдЖрдпрд╛рдд рддреНрд░реБрдЯрд┐: рдХреЛрдИ рдореЙрдбреНрдпреВрд▓ рдирд╛рдо рдирд╣реАрдВ рд╣реИ Shutil_get_terminal_size

_"рдкрд┐рдк рдлреНрд░реАрдЬ" рдиреЗ рдмреИрдХрдкреЛрд░реНрдЯ рджрд┐рдЦрд╛рдпрд╛ред

рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдЗрд╕рдиреЗ рджрд░реНрд╢рд╛рдпрд╛:

_рдкрд┐рдк рдЗрдВрд╕реНрдЯрд╛рд▓ --рдЕрдкрдЧреНрд░реЗрдб рдмреИрдХрдкреЛрд░реНрдЯреНрд╕.рд╢рдЯрд┐рд▓-рдЧреЗрдЯ-рдЯрд░реНрдорд┐рдирд▓-рд╕рд╛рдЗрдЬ_
рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрджреНрдпрддрд┐рдд рд╣реИ: backports.shutil-get-terminal-size /Library/Python/2.7/site-packages рдореЗрдВ

рддреЛ рдпрд╣ рдХрд┐рд╕реА рддрд░рд╣ рдореЗрд░реЗ рд╡реИрд╢реНрд╡рд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рд░рд╣рд╛ рдерд╛, рди рдХрд┐ рдореЗрд░реЗ рд╡реЗрдирд╡ рдореЗрдВред

рдлрд┐рд░ рдореИрдВрдиреЗ рд╡реИрд╢реНрд╡рд┐рдХ рдЕрдЬрдЧрд░ рд╕реЗ backports.shutil-get-terminal-size рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ рд╡реЗрдиреЗрд╡ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рджрд┐рдпрд╛ред рдЕрдм рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред

рдореИрдВ рдЗрд╕ рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЗ рд╕рд╛рде рдЗрд╕ 100% рд╕рдордп рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ

pip install --user --upgrade ipython==4.2

рдореИрдВ рдЗрд╕ рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЗ рд╕рд╛рде рдЗрд╕ 0% рд╕рдордп рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ

pip install --user --upgrade ipython==4.1.1

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ --user рдХреЗ рд╕рд╛рде рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд╛рдпрдерди рдЯреВрд▓ ~/Library/Python/2.7/bin/ipython рдмрдЬрд╛рдп /usr/local/bin

@AndrewHoos рдФрд░ рдореЗрд░реЗ рд▓рд┐рдП, рджреЛрдиреЛрдВ рдХрдорд╛рдВрдб рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдЖрдкрдХреЛ pip --version рд╕реЗ рдХреНрдпрд╛ рдорд┐рд▓рддрд╛ рд╣реИ? рдпрд╣ рдХрдо рд╕реЗ рдХрдо 8 рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рд╕реЗрдЯрдЕрдк рдЯреВрд▓ рдФрд░ рдкрд╛рдЗрдк рдЕрдк рдЯреВ рдбреЗрдЯ рд╣реИрдВ:

pip install --upgrade setuptools pip

рдореИрдВ рдиреЛрдЯрдмреБрдХ 4.2.2 рдФрд░ ipython 5.1.0 рдХреЗ рд╕рд╛рде conda рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реВрдВред рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореЗрд░реЗ рдкрд╛рд╕ shutil_get_terminal_size рдкрд╣рд▓реЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ:

pip install backports.shutil_get_terminal_size
Requirement already satisfied (use --upgrade to upgrade): backports.shutil_get_terminal_size in /.../anaconda/lib/python2.7/site-packages

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдирд┐рдпрдорд┐рдд рдкрд╛рдпрдерди рдЦреЛрд▓ рдореЗрдВ, import backports.shutil_get_terminal_size рдХрдорд╛рдВрдб рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдареАрдХ рд╣реИ, рдореБрдЭреЗ рдПрдХ рдХрдЪреНрдЪрд╛ рд▓реЗрдХрд┐рди рд╕рд░рд▓ рдЙрдкрд╛рдп рдорд┐рд▓рд╛: рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред рдЕрдм рдЖрдИрдкреАрдереЙрди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ....

$ pip uninstall backports.shutil_get_terminal_size
Uninstalling backports.shutil-get-terminal-size-1.0.0:
  /home/pierre/Programmes/anaconda/lib/python2.7/site-packages/backports
  /home/pierre/Programmes/anaconda/lib/python2.7/site-packages/backports.shutil_get_terminal_size-1.0.0-py2.7.egg-info
Proceed (y/n)? y
  Successfully uninstalled backports.shutil-get-terminal-size-1.0.0
$ pip install backports.shutil_get_terminal_size
Collecting backports.shutil_get_terminal_size
  Downloading backports.shutil_get_terminal_size-1.0.0-py2.py3-none-any.whl
Installing collected packages: backports.shutil-get-terminal-size
Successfully installed backports.shutil-get-terminal-size-1.0.0

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднреА рднрд╛рдЧ рдЧрдпрд╛
рдЕрдлрд╕реЛрд╕ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдКрдкрд░ рд╕реЗ рдХреБрдЫ рднреА рдорджрдж рдирд╣реАрдВ рдорд┐рд▓реА, рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдареАрдХ рд╡реИрд╕реА рд╣реА рд╣реИ рдЬреИрд╕реА рдКрдкрд░ рдмрддрд╛рдИ рдЧрдИ рд╣реИ:

рдЖрдпрд╛рдд рддреНрд░реБрдЯрд┐: рдХреЛрдИ рдореЙрдбреНрдпреВрд▓ рдирд╛рдо рдирд╣реАрдВ рд╣реИ Shutil_get_terminal_size

IPython рдФрд░ рдмреИрдХ рдкреЛрд░реНрдЯ рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рдХреЛрдИ рдЦреБрд╢реА рдирд╣реАрдВ рдереАред

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рдереА рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ Jupyter рдФрд░ рдорд┐рддреНрд░ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВ, рдФрд░ Shuil_get_terminal_size рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВред рдпрд╛рдиреА/рд▓рд╛рдЗрдмреНрд░реЗрд░реА/рдкрд╛рдпрдерди/2.7/рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ/shutil_backports/

рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд backports.functools_lru_cache рднреА рдерд╛, рдЗрд╕рдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ Shutil_backports рдХреЗ рдЖрдпрд╛рдд рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░ рджрд┐рдпрд╛ рдерд╛ред

рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИ: ls ~/Library/Python/2.7/lib/python/site-packages (OSX рдкрд░, рдпрджрд┐ рдЖрдк рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдмреИрдХ рдкреЛрд░реНрдЯ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рд╢рд╛рдпрдж рдпрд╣ рдЧрд▓рддреА рд╣реИред рдореИрдВрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рд╕реНрдерд╛рдкрдирд╛ рд░рджреНрдж рдХрд░ рджреА рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕рд┐рд╕реНрдЯрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдЬреЛрдбрд╝рд╛ред рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЖрдк рдЕрдкрдиреЗ рдмреИрдХ рдкреЛрд░реНрдЯ рдХреЛ рдорд┐рдХреНрд╕ рдПрдВрдб рдореИрдЪ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реИрд╢реНрд╡рд┐рдХ рдпрд╛ рд╕реНрдерд╛рдиреАрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдбреЗрдмрд┐рдпрди рд╕рд┐рдб (рдЕрд╕реНрдерд┐рд░) рдореЗрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрджреНрдпрддрдиред рдореИрдВрдиреЗ рдкрд╛рдЗрдк рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛; рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдФрд░ рдирдП рд╕рд┐рд░реЗ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛; рдЖрджрд┐ рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред

# uname -a
Linux bunsen 4.7.0-1-amd64 #1 SMP Debian 4.7.2-1 (2016-08-28) x86_64 GNU/Linux
# pip2 --version
pip 8.1.2 from /usr/local/lib/python2.7/dist-packages (python 2.7)
# pip show ipython
---
Metadata-Version: 2.0
Name: ipython
Version: 5.1.0
Summary: IPython: Productive Interactive Computing
Home-page: http://ipython.org
Author: The IPython Development Team
Author-email: [email protected]
Installer: pip
License: BSD
Location: /usr/local/lib/python2.7/dist-packages
Requires: pickleshare, simplegeneric, traitlets, backports.shutil-get-terminal-size, decorator, pygments, prompt-toolkit, pexpect, pathlib2, setuptools
Classifiers:
  Framework :: IPython
  Intended Audience :: Developers
  Intended Audience :: Science/Research
  License :: OSI Approved :: BSD License
  Programming Language :: Python
  Programming Language :: Python :: 2
  Programming Language :: Python :: 2.7
  Programming Language :: Python :: 3
  Topic :: System :: Shells
Entry-points:
  [console_scripts]
  iptest = IPython.testing.iptestcontroller:main
  iptest2 = IPython.testing.iptestcontroller:main
  ipython = IPython:start_ipython
  ipython2 = IPython:start_ipython
  [pygments.lexers]
  ipython = IPython.lib.lexers:IPythonLexer
  ipython3 = IPython.lib.lexers:IPython3Lexer
  ipythonconsole = IPython.lib.lexers:IPythonConsoleLexer

рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ рдФрд░ рдмреИрдХрдкреЛрд░реНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред shutil_get_terminal_size рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдУрдПрд╕рдПрдХреНрд╕ рдореЗрдВ +1ред рд╡рд╣реА рд╕рдорд╕реНрдпрд╛, - рд╡реИрд╢реНрд╡рд┐рдХ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рд╕реНрдерд╛рдиреАрдп рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВред

@Hiczeke рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛

рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЕрдВрддрд┐рдо рдЖрджреЗрд╢ setuptools рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рд░рд╣рд╛ рдерд╛
рдореИрдВ рд╕рд▓рд╛рд╣ рджреВрдБрдЧрд╛:

  • рдбреЗрдмрд┐рдпрди ipython рдФрд░ python-backports-shutil-get-terminal-size рдЬреИрд╕реЗ рдХрд┐рд╕реА рднреА рд╕рд┐рд╕реНрдЯрдо рдкреИрдХреЗрдЬ рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ
  • рдкрд╛рдЗрдк рдХреЗ рд╕рд╛рде рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ: ipython , jupyter рдФрд░ backports.shutil_get_terminal_size
  • рдЕрдкрдЧреНрд░реЗрдб pip рдФрд░ setuptools: pip install --upgrad setuptools pip`
  • рдкрд╛рдЗрдк рдХреЗ рд╕рд╛рде ipython (рдФрд░ рдЕрдиреНрдп) рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ: pip install ipython jupyter

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░ рджрд┐рдпрд╛:
рдкрд╛рдЗрдк рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдмреИрдХрдкреЛрд░реНрдЯреНрд╕.shutil_get_terminal_size
рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд backports.shutil_get_terminal_size

@Paul-Richter @Hiczeke
рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!
"backports.shutil_get_terminal_size" рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдкрд┐рдк рдЗрдВрд╕реНрдЯрд╛рд▓ --рдЕрдкрдЧреНрд░реЗрдб --рдлреЛрд░реНрд╕-рд░реАрдЗрдВрд╕реНрдЯреЙрд▓ ipython

рдЗрд╕рдиреЗ рдореЗрд░реЗ рдореИрдХ рдкрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░ рджрд┐рдпрд╛

рдореИрдВ рдХрд╛рдлреА рдЙрд▓рдЭрди рдореЗрдВ рд╣реВрдБ:

sudo pip uninstall backports.shutil_get_window_size
>>Cannot uninstall requirement backports.shutil-get-window-size, not installed

sudo pip install backports.shutil_get_window_size
>>Could not find a version that satisfies the requirement backports.shutil_get_window_size (from versions: )
>>No matching distribution found for backports.shutil_get_window_size

рдЖрдкрдХреЗ рд▓рд┐рдП рдлрд┐рдХреНрд╕реНрдб, рдЗрдпрд╛рдиред

sudo pip рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ backports.shutil_get_ рдЯрд░реНрдорд┐рдирд▓ _size

sudo pip рдмреИрдХрдкреЛрд░реНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВредshutil_get_ рдЯрд░реНрдорд┐рдирд▓ _size

рдмреБрдзрд╡рд╛рд░, 25 рдЬрдирд╡рд░реА, 2017 рдХреЛ рджреЛрдкрд╣рд░ 12:52 рдмрдЬреЗ рдЗрдпрд╛рди рд╣рд┐рдВрдХреНрд╕ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рдореИрдВ рдХрд╛рдлреА рдЙрд▓рдЭрди рдореЗрдВ рд╣реВрдБ:

sudo pip рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ backports.shutil_get_window_size

рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреА рд╕реНрдерд╛рдкрдирд╛ рд░рджреНрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ backports.shutil-get-window-size, рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ

sudo pip install backports.shutil_get_window_size

рдПрдХ рдРрд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рдорд┐рд▓рд╛ рдЬреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реЛ backports.shutil_get_window_size (рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╕реЗ: )
Backports.shutil_get_window_size рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорд┐рд▓рд╛рди рд╡рд┐рддрд░рдг рдирд╣реАрдВ рдорд┐рд▓рд╛

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/ipython/ipython/issues/9656#issuecomment-275197674 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/ATln0kDS_u6PaTk6Qunjc_oEtKCv_-cRks5rV5n7gaJpZM4I9MnS
.

@ рдкреЙрд▓-рд░рд┐рдХреНрдЯрд░ рдЖрд╣, рдзрдиреНрдпрд╡рд╛рдж :)

рдХрд┐рд╕реА рднреА рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓/рд░реАрдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рд╛рдордЧреНрд░реА рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЖрдЦрд┐рд░ рдореЗрдВ рдореЗрд░реЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ @ternus рдиреЗ рдКрдкрд░ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдерд╛: рдЦреЛрд▓реЗрдВ (рд▓рд┐рдирдХреНрд╕ рдкрд░) /usr/local/lib/python2.7/dist-packages/IPython/utils/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

@ihincks : рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдиреЗ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХреЛ osx ЁЯШГ . рдкрд░ рд╣рд▓ рдХрд░ рджрд┐рдпрд╛

рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдЖрдЬ OS X 10.12.3 рдкрд░ рдорд┐рд▓реАред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛:

pip install --upgrade pip setuptools
pip install --upgrade --force-reinstall ipython

рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ ipython рддреНрд░реБрдЯрд┐ рд╣реИред рдмрдВрдж рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВред

рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ IPython рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реА рдЗрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХреВрдВ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ рддрд╛рдХрд┐ рд╣рдо рд▓реЛрдЧреЛрдВ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ + рдЖрд╢рд╛ рд╕реЗ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХреЗрдВ ...

@ рдкрд┐рдпрд░реЗ-рд╣реЗрд╕рд┐рдЧ рддреБрдо рдореЗрд░рд╛ рджрд┐рди рдмрдЪрд╛рдУредрдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

рдХреГрдкрдпрд╛ рджреЗрдЦреЗрдВ https://github.com/chrippa/backports.shutil_get_terminal_size/issues/9#issuecomment -279021331

@ihincks рдореИрдВрдиреЗ рд╕рднреА рдкрджреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдХреЛрдИ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдХреЗрд╡рд▓ рдЖрдкрдХрд╛ рд╣реА рдХрд╛рдо рдХрд┐рдпрд╛ред рдЖрдк рдПрдХ рдЬреАрд╡рди рд░рдХреНрд╖рдХ рд╣реИ :)

ihincks рджреНрд╡рд╛рд░рд╛ рдлрд┐рдХреНрд╕ рд╡рд┐рдВрдбреЛрдЬ 10 рдкрд░ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреА рдЬрдбрд╝ рдЧрд▓рдд ipython рд╕рдВрд╕реНрдХрд░рдг рдереА:

ls -lah /usr/local/bin/ipython*
-rwxr-xr-x  1 z  staff   247B Mar  5 15:16 /usr/local/bin/ipython
-rwxr-xr-x  1 z  staff   247B Mar  5 15:16 /usr/local/bin/ipython3

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдмрд┐рд▓реНрдХреБрд▓ рднреА python3 рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рд╣реИред
рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рддрдм рд╣рд▓ рд╣реЛ рдЧрдИ рдЬрдм рдореИрдВрдиреЗ рдЕрдЬрдЧрд░ рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рджрд┐рдпрд╛ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛

brew uninstall python
rm -rf /usr/local/lib/python2.7

рдореИрдВрдиреЗ рдЕрдЬрдЧрд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдкрд╛рдЗрдк рдХрд╛ рд╕рд╣реА рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рд╕реНрдерд╛рди рд╣реИред
pip 9.0.1 from /usr/local/lib/python2.7/site-packages (python 2.7)
pip2 install ipython

@ihincks

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХрдорд╛рддреНрд░ рд╕рд╣реА рдЙрддреНрддрд░ рд╣реИред

sudo pip рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ backports.shutil_get_terminal_size
рд╕реБрдбреЛ рдкрд╛рдЗрдк рдмреИрдХрдкреЛрд░реНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред shutil_get_terminal_size

рдкрд┐рдк рдХреЛ рд╕реВрдбреЛ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред
рдкрд╛рдЗрдк рдХреЗ рд╕рд╛рде рд╕реВрдбреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЯреВрдЯ рдЬрд╛рддрд╛ рд╣реИ
рдореБрджреНрджрд╛ рдмрддрд╛рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдкрдХреЛ рд╕реВрдбреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рд╣реИред

рдПрдо

>

@ihincks FreeBSD рдкрд░ рдХреЗрд╡рд▓ рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛! рдЕрдиреЗрдХ рдЕрдиреЗрдХ рдзрдиреНрдпрд╡рд╛рдж!

рдПрдлрд╡рд╛рдИрдЖрдИ, рдореИрдВ рдПрдХ рд╣реА рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдкрд╛рдЗрдк рдореЗрдВ --ignore-installed рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЗрд╡рд▓ shutil_get_terminal_size рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░ рд╕рдХрддрд╛ рдерд╛ред рдЗрд╕рдХреЗ рдмрд┐рдирд╛, рдкреИрдХреЗрдЬ рдареАрдХ рд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

pip install --ignore-installed backports.shutil_get_terminal_size

@AllanDaemon рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХрд░ рджреА!

рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдФрд░ рдЗрд╕реЗ рдмреИрдХрдкреЛрд░реНрдЯреНрд╕ рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдФрд░ рд░реАрдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ред shutil_get_terminal_size

рдкрд╛рдЗрдк рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдмреИрдХрдкреЛрд░реНрдЯреНрд╕.shutil_get_terminal_size
рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд backports.shutil_get_terminal_size

рдореБрдЭреЗ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереАред
рдЙрдкрд░реЛрдХреНрдд рдХрдИ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЛ рдЖрдЬрдорд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЕрдВрддрддрдГ рдкрд╛рдпрд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдореЗрд░реА $PATH рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рдХрд╛рд░рдг рд╣реИред
рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рдореИрдВрдиреЗ pip install --user рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛, рддрд╛рдХрд┐ /home/jin/.local/lib/python2.7 рдореЗрд░реЗ $PATH рдореЗрдВ рд╣реЛ, рдЬрд╣рд╛рдВ backports рдХрд╛ рдПрдХ рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рдореМрдЬреВрдж рдерд╛ред
рдореИрдВрдиреЗ .local/lib/python2.7 рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд╣рдЯрд╛рдХрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ред

рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреЗ рд╕рд╛рде $PATH рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЖрдк рдмрд╕ рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

import sys
print sys.path

рд╕рдорд╕реНрдпрд╛ "рд╕рд┐рд╕реНрдЯрдо" рдФрд░ "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛" рджреЛрдиреЛрдВ рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ "рдмреИрдХрдкреЛрд░реНрдЯ" рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддреА рд╣реИред
рдЕрдкрдиреЗ macOS рдкрд░ рдореИрдВрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ shutil_get_terminal_size рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдШрд░ рдореЗрдВ рдПрдХ рдФрд░ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдерд╛ред рдЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЖрдк рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЦреЛрдЬ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
рдЕрдкрдиреЗ рд╕рднреА рдкрд╛рдпрдерди рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, --user рдмреБрджреНрдзрд┐рдорд╛рди рд╣реИред
рдпрджрд┐ рдЖрдкрдХрд╛ рдЕрдЯрдХрд╛ рд╣реБрдЖ рдмрд▓ --user рдХреЗ рд╕рд╛рде рдкреБрдирдГ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ:
pip install --ignore-installed backports.shutil_get_terminal_size --user
рдЗрд╕реЗ рд╢рд╛рдпрдж рдХреБрдЫ рдирд┐рджрд╛рдиреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореБрдЭреЗ рд╣рд░ рдмрд╛рд░ рдЦрд░рд╛рдм рдХрд░рддрд╛ рд╣реИ

backports рдХреЛ рдПрдХ 'рдиреЗрдорд╕реНрдкреЗрд╕ рдкреИрдХреЗрдЬ' рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рд╕рдмрдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИред рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдордЬрд╝рдмреВрддреА рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдореИрдВ рдЗрд╕рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддрд╛ред рдореИрдВ рдЗрд╕реЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдФрд░ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рдореЗрд░реЗ рдкреНрд░рдпрд╛рд╕ рдЕрднреА рдЙрд▓рдЭрди рдореЗрдВ рд╣реИрдВред

@takluyver рдХреНрдпрд╛ рдЖрдкрдиреЗ https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=843898 рджреЗрдЦрд╛ рд╣реИ? рдЕрдВрддрд┐рдо 2-3 рдкреЛрд╕реНрдЯ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИрдВред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рдХрдореЛрдмреЗрд╢ рд╡реИрд╕рд╛ рд╣реА рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдореИрдВрдиреЗ рдкрд╛рдпрд╛ - рдХреБрдЫ backports рдиреЗрдорд╕реНрдкреЗрд╕ рдкреИрдХреЗрдЬ рдХреЛ рдЧрдбрд╝рдмрдбрд╝ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдХреНрдпрд╛ рдпрд╛ рдХреИрд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдбреЗрдмрд┐рдпрди рдиреЗ рдХрд╣рд╛, рдХрд╛рдлреА рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдпрд╣ рдЙрдирдХреА рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдЕрдЧрд░ рдкрд╛рдЗрдк-рд╕реНрдерд╛рдкрд┐рдд рдкреИрдХреЗрдЬ рдЪреАрдЬреЛрдВ рдХреЛ рддреЛрдбрд╝рддреЗ рд╣реИрдВред

рдореИрдВрдиреЗ рдпрд╣рд╛рдВ https://github.com/chrippa/backports.shutil_get_terminal_size/issues/9#issuecomment -279021331 рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХреА рдФрд░ рдкреАрдЖрдИрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдкрд╣рд┐рдпрд╛ рдмрдирд╛рдо рдЧреИрд░-рдкрд╣рд┐рдпрд╛ (рдЧреИрд░-рдмрд╛рдЗрдирд░реА) рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдЦреЛрдЬрдиреЗ рдкрд░ рдКрдкрд░ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╡рд╣ рд╣реИ рдХреБрдЫ рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ?

IPython рдХреЗ рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдлрд╝реЙрд▓рдмреИрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реЗрдВрдбрд░рд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

рдХреНрдпрд╛ рдпрд╣ рдРрд╕рд╛ рдХреБрдЫ рд╣реИ рдЬрд┐рд╕реЗ рд╕реАрдкреАрдерди рдХреЗ рд╢реАрд▓ рдореЗрдВ рдмреИрдХрдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдХреНрдпрд╛ рдпрд╣ рдРрд╕рд╛ рдХреБрдЫ рд╣реИ рдЬрд┐рд╕реЗ рд╕реАрдкреАрдерди рдХреЗ рд╢реАрд▓ рдореЗрдВ рдмреИрдХрдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рд╕рдВрднрд╡рдд: рдирд╣реАрдВ, рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА IPython 6.0/рдорд╛рд╕реНрдЯрд░ рдкрд░ backport рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╕рднреА CPython рдЕрд╕реНрддрдмрд▓ рдореЗрдВ рд╣реИ, рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рд╣реЛрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо 2.7 рдкрд░ backport рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдорд╛рдирдХ CPython 2.7 рдореЗрдВ рдирд╣реАрдВ рд╣реИред

рд╕рдордЭ рдЧрдпрд╛ред рдзрдиреНрдпрд╡рд╛рдж @ рдХреИрд░реЗрдЙред рдЦреБрд╢реА рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдореБрджреНрджрд╛ рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рд╣рдЯрд╛рдирд╛, рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдореЗрдВ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛, рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдореЗрдВ рдкреБрдирдГ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИред

рдЖрдкрдХреЛ рдмрд╕ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЖрджреЗрд╢реЛрдВ рдХреЛ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

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

рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рдереА, рдФрд░ рдпрд╣ рдЗрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред

рдирдорд╕реНрддреЗ
рдЙрдмрдВрдЯреВ 17.10 рдкрд░ ipython2 рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ред
Python3 рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ

FIX: sudo -H pip install --ignore-installed backports.shutil_get_terminal_size

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 17.10
Release:    17.10
Codename:   artful

$ python --version
Python 2.7.14

$ python3 --version
Python 3.6.3

$ pip show ipython
Name: ipython
Version: 5.1.0
Summary: IPython: Productive Interactive Computing
Home-page: http://ipython.org
Author: The IPython Development Team
Author-email: [email protected]
License: BSD
Location: /usr/lib/python2.7/dist-packages
Requires: backports.shutil-get-terminal-size, pathlib2, pexpect

$ pip3 show ipython
Name: ipython
Version: 5.1.0
Summary: IPython: Productive Interactive Computing
Home-page: http://ipython.org
Author: The IPython Development Team
Author-email: [email protected]
License: BSD
Location: /usr/lib/python3/dist-packages
Requires: pexpect

$ ipython
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/IPython/__init__.py", line 48, in <module>
    from .core.application import Application
  File "/usr/lib/python2.7/dist-packages/IPython/core/application.py", line 25, in <module>
    from IPython.core import release, crashhandler
  File "/usr/lib/python2.7/dist-packages/IPython/core/crashhandler.py", line 28, in <module>
    from IPython.core import ultratb
  File "/usr/lib/python2.7/dist-packages/IPython/core/ultratb.py", line 128, in <module>
    from IPython.utils.terminal import get_terminal_size
  File "/usr/lib/python2.7/dist-packages/IPython/utils/terminal.py", line 22, in <module>
    from backports.shutil_get_terminal_size import get_terminal_size as _get_terminal_size
ImportError: No module named shutil_get_terminal_size

$ apt-cache show python-ipython
Package: python-ipython
Architecture: all
Version: 5.1.0-3
Priority: optional
Section: universe/python
Source: ipython
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Debian Python Modules Team <[email protected]>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 1864
Depends: python-decorator, python-pexpect, python-pickleshare, python-pkg-resources, python-prompt-toolkit, python-pygments, python-simplegeneric, python-traitlets, python:any (<< 2.8), python:any (>= 2.7.5-5~), python-backports-shutil-get-terminal-size, python-pathlib2
Breaks: ipython (<< 4)
Replaces: ipython (<< 4)
Filename: pool/universe/i/ipython/python-ipython_5.1.0-3_all.deb
Size: 375048
MD5sum: 7ae68256eb7c6183634ea3680ad4449d
SHA1: 7e2916b5e661793dcb55e86404de5cd1f0d19d8b
SHA256: 0664f1d3c5543cc3ba4db4fcd8bf4526de714e3f35687b49052fad7831cbdee3
Homepage: https://github.com/ipython/ipython
Description-en: Enhanced interactive Python shell (Python 2 version)
 IPython can be used as a replacement for the standard Python shell,
 or it can be used as a complete working environment for scientific
 computing (like Matlab or Mathematica) when paired with the standard
 Python scientific and numerical tools. It supports dynamic object
 introspections, numbered input/output prompts, a macro system,
 session logging, session restoring, complete system shell access,
 verbose and colored traceback reports, auto-parentheses, auto-quoting,
 and is embeddable in other Python programs.
 .
 This package contains the backend terminal shell for Python 2: for
 the actual frontend install ipython.
Description-md5: 713480d81c0c64f1b3a9c4c9350ef96c

$ apt-cache show python3-ipython
Package: python3-ipython
Architecture: all
Version: 5.1.0-3
Priority: optional
Section: universe/python
Source: ipython
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Debian Python Modules Team <[email protected]>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 1864
Depends: python3-decorator, python3-pexpect, python3-pickleshare, python3-pkg-resources, python3-prompt-toolkit, python3-pygments, python3-simplegeneric, python3-traitlets, python3:any (>= 3.3.2-2~), python-pexpect
Breaks: ipython3 (<< 4)
Replaces: ipython3 (<< 4)
Filename: pool/universe/i/ipython/python3-ipython_5.1.0-3_all.deb
Size: 375114
MD5sum: c0585bf56c9fbcbb73aa45d25b8fbe14
SHA1: c7118d1050f50723d614a3060ad6d8d31a96e73c
SHA256: 293217ee356c2c2623efce3fc391b1876a38585b0ae7462b2a8a0d3f3424ec86
Homepage: https://github.com/ipython/ipython
Description-en: Enhanced interactive Python shell (Python 3 version)
 IPython can be used as a replacement for the standard Python shell,
 or it can be used as a complete working environment for scientific
 computing (like Matlab or Mathematica) when paired with the standard
 Python scientific and numerical tools. It supports dynamic object
 introspections, numbered input/output prompts, a macro system,
 session logging, session restoring, complete system shell access,
 verbose and colored traceback reports, auto-parentheses, auto-quoting,
 and is embeddable in other Python programs.
 .
 This package contains the backend terminal shell for Python 3: for
 the actual frontend install ipython.
Description-md5: 8182f91eff6e0e148e574a20d31e0f51

@ рдирд┐рдХреЛрд▓рд╛-рд▓реБрдВрдШреА рдХреГрдкрдпрд╛ рд▓реЛрдЧреЛрдВ рдХреЛ sudo pip рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рди рджреЗрдВ, рдпрд╣ рд▓рдВрдмреЗ рд╕рдордп рдореЗрдВ рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдЬреАрдм рддрд░реАрдХреЗ рд╕реЗ рддреЛрдбрд╝рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред рдкрд┐рдк рдХреБрдЫ рдлрд╛рдЗрд▓реЛрдВ рдкрд░ рд╕рд┐рд╕реНрдЯрдо рдкреИрдХреЗрдЬ-рдореИрдиреЗрдЬрд░ рдХреЗ рд╕рд╛рде рд▓рдбрд╝реЗрдЧрд╛ред

рдпрд╣ рдЖрдкрдХреЗ рдХрд╛рд░реНрдмрди рдореЛрдиреЛрдСрдХреНрд╕рд╛рдЗрдб рдЕрд▓рд╛рд░реНрдо рд╕реЗ рдмреИрдЯрд░реА рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЛ рд░рд╛рдд рдореЗрдВ рдЬрдЧрд╛рддрд╛ рд╣реИред рдЖрдкрдХреЗ рд╣реАрдЯрд░ рдореЗрдВ рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рд╣реИ; рдЖрдкрдХреЛ рдПрдХ рдЙрдЪрд┐рдд рдлрд┐рдХреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж @ рдХреИрд░реЗрдЙ
рдореИрдВ рдЕрдкрдиреЗ рдШрд░ рдореЗрдВ рд▓рдЧреА рдЖрдЧ рдХреЛ рдмреБрдЭрд╛рдХрд░ рдЕрдкрдиреЗ рдЙрддреНрддрд░ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░реВрдВрдЧрд╛ред

рдкреАрдПрд╕ рдХреГрдкрдпрд╛ "рд╣реАрджрд░" рдХреЛ рдареАрдХ рдХрд░реЗрдВ -> рдбрд┐рдм рдирд┐рд░реНрднрд░рддрд╛

рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╕рдорд╛рдзрд╛рди рд╢рд╛рдпрдж pip install --user ipython рд╕рд╛рде IPython рдХрд╛ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реИ ( --user рдзреНрд╡рдЬ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЗрд╕реЗ sudo рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)ред рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА IPython рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдбреЗрдмрд┐рдпрди рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЙрдкрдпреБрдХреНрдд рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ IPython рдХрд╛ рдкреБрд░рд╛рдирд╛ рд╕рдВрд╕реНрдХрд░рдг рдорд┐рд▓рддрд╛ рд╣реИред

рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рд╕рд┐рдЧрд╡рд┐рди рдФрд░ рдкрд╛рдпрдерди 2 рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рддреЛ рд╕рдорд╛рдзрд╛рди рд╕рд╛рдЗрдЧрд╡рд┐рди setup.exe (рдпрд╛ рдЙрдкрдпреБрдХреНрдд-рд╕рд╛рдЗрдЧ рдпреВрдЯреАрдПрд▓ рдореЗрдВ рд╕реЗ рдПрдХ) рдХреЛ рдЪрд▓рд╛рдиреЗ рдФрд░ python2-backports.shutil_get_terminal_size ред рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

ipython3 рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдареАрдХ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

peter-ch picture peter-ch  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

quchunguang picture quchunguang  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

gregcaporaso picture gregcaporaso  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mpacer picture mpacer  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

alvations picture alvations  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ