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

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

@carreau рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:
рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдирд╛, 5.4 рдХреЛ рдЯреИрдЧ рдХрд░рдирд╛ рд╣рдореЗрдВ рд╡рд┐рдХреНрд░реЗрддрд╛ рдХреЛ Shutil_get_terminal_size рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред


ipython sudo apt-get install ipython-notebook , ipython рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рдПрдХ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ, рдЬреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

jiangyuping@Lenovo :~$ ipython
рдЯреНрд░реЗрд╕рдмреИрдХ (рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдХреЙрд▓ рдЕрдВрддрд┐рдо):
рдлрд╝рд╛рдЗрд▓ "/ usr/рд▓реЛрдХрд▓/рдмрд┐рди/рдЖрдИрдкреАрдереЙрди", рд▓рд╛рдЗрди 4, in
IPython рд╕реЗ рдЖрдпрд╛рдд start_ipython
рдлрд╝рд╛рдЗрд▓ " /usr/local/lib/python2.7/dist-packages/IPython/init .py", рд▓рд╛рдЗрди 48, рдореЗрдВ
.core.application рдЖрдпрд╛рдд рдЖрд╡реЗрджрди рд╕реЗ
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python2.7/dist-packages/IPython/core/application.py", рд▓рд╛рдЗрди 25, рдореЗрдВ
IPython.core рдЖрдпрд╛рдд рд░рд┐рд▓реАрдЬ рд╕реЗ, рдХреНрд░реИрд╢рд╣реИрдВрдбрд▓рд░
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python2.7/dist-packages/IPython/core/crashhandler.py", рд▓рд╛рдЗрди 28, рдореЗрдВ
IPython.core рд╕реЗ ultratb рдЖрдпрд╛рдд рдХрд░реЗрдВ
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python2.7/dist-packages/IPython/core/ultratb.py", рд▓рд╛рдЗрди 128, рдореЗрдВ
IPython.utils.terminal рдЖрдпрд╛рдд рд╕реЗ get_terminal_size
рдлрд╝рд╛рдЗрд▓ "/usr/local/lib/python2.7/dist-packages/IPython/utils/terminal.py", рд▓рд╛рдЗрди 22, рдореЗрдВ
backports.shutil_get_terminal_size рд╕реЗ рдЖрдпрд╛рдд рдХрд░реЗрдВ get_terminal_size _get_terminal_size рдХреЗ рд░реВрдк рдореЗрдВ
рдЖрдпрд╛рдд рддреНрд░реБрдЯрд┐: рдХреЛрдИ рдореЙрдбреНрдпреВрд▓ рдирд╛рдо рдирд╣реАрдВ рд╣реИ Shutil_get_terminal_size

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

@oschow рдпрд╣ _ рдЪрд╛рд╣рд┐рдП_ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

# start by making sure pip, setuptools are up to date:
pip install --upgrade setuptools pip
# uninstall if pip thinks you already have it but don't seem to:
pip uninstall backports.shutil_get_terminal_size
# install it again with out definitely-up-to-date pip:
pip install --upgrade backports.shutil_get_terminal_size

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

рдЖрдкрдХреЗ рдкрд╛рд╕ рдЙрдкрдпреБрдХреНрдд рдХреЗ рдмрд╛рд╣рд░ IPython рдХреА рдПрдХ рдирдИ рдкреНрд░рддрд┐ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ backports.shutil_get_terminal_size ред рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП pip рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

@takluyver pip install ipython рдХреЗ рдмрд╛рдж, рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ

jiangyuping@Lenovo :~/ipython$ pip install ipython
рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрддреБрд╖реНрдЯ рд╣реИ (рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдЕрдкрдЧреНрд░реЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ): ipython /usr/local/lib/python2.7/dist-packages рдореЗрдВ

рдлрд┐рд░, ipython , рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ

jiangyuping@Lenovo :~/ipython$ ipython
рдЯреНрд░реЗрд╕рдмреИрдХ (рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдХреЙрд▓ рдЕрдВрддрд┐рдо):
рдлрд╝рд╛рдЗрд▓ "/ usr/рд▓реЛрдХрд▓/рдмрд┐рди/рдЖрдИрдкреАрдереЙрди", рд▓рд╛рдЗрди 4, in
IPython рд╕реЗ рдЖрдпрд╛рдд start_ipython
рдлрд╝рд╛рдЗрд▓ "/home/jiangyuping/ipython/IPython/ init .py", рд▓рд╛рдЗрди 48, рдореЗрдВ
.core.application рдЖрдпрд╛рдд рдЖрд╡реЗрджрди рд╕реЗ
рдлрд╝рд╛рдЗрд▓ "/home/jiangyuping/ipython/IPython/core/application.py", рд▓рд╛рдЗрди 25, рдореЗрдВ
IPython.core рдЖрдпрд╛рдд рд░рд┐рд▓реАрдЬ рд╕реЗ, рдХреНрд░реИрд╢рд╣реИрдВрдбрд▓рд░
рдлрд╝рд╛рдЗрд▓ "/home/jiangyuping/ipython/IPython/core/crashhandler.py", рд▓рд╛рдЗрди 28, рдореЗрдВ
IPython.core рд╕реЗ ultratb рдЖрдпрд╛рдд рдХрд░реЗрдВ
рдлрд╝рд╛рдЗрд▓ "/home/jiangyuping/ipython/IPython/core/ultratb.py", рд▓рд╛рдЗрди 128, рдореЗрдВ
IPython.utils.terminal рдЖрдпрд╛рдд рд╕реЗ get_terminal_size
рдлрд╝рд╛рдЗрд▓ "/home/jiangyuping/ipython/IPython/utils/terminal.py", рд▓рд╛рдЗрди 22, рдореЗрдВ
backports.shutil_get_terminal_size рд╕реЗ рдЖрдпрд╛рдд рдХрд░реЗрдВ get_terminal_size _get_terminal_size рдХреЗ рд░реВрдк рдореЗрдВ
рдЖрдпрд╛рдд рддреНрд░реБрдЯрд┐: рдХреЛрдИ рдореЙрдбреНрдпреВрд▓ рдирд╛рдо рдирд╣реАрдВ рд╣реИ Shutil_get_terminal_size

рдореЗрд░рд╛ рдорддрд▓рдм:

pip install backports.shutil_get_terminal_size

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдпрд╣ рдЖрдИрдкреАрдереЙрди рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рд▓рд╛ рд░рд╣рд╛ рд╣реИ, рддреЛ рд╢рд╛рдпрдж рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреАрдЖрдИрдкреА рдХрд╛ рдкреБрд░рд╛рдирд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред рдЗрд╕реЗ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

pip install --upgrade setuptools pip

рдзрдиреНрдпрд╡рд╛рдж, рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реНрдерд╛рдкрд┐рддред

рдореИрдВрдиреЗ рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдЕрдВрддрд┐рдо рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ setuptools рдЕрдкрдбреЗрдЯ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдореИрдВрдиреЗ рдкрд╛рдЗрдк рдХреЛ рднреА рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдФрд░ ipython рдЖрджрд┐ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ред

рдзрдиреНрдпрд╡рд╛рдж! рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдЗрд╕рдиреЗ рдореБрдЭреЗ рдПрдХ рд╡рд┐рдЪрд╛рд░ рджрд┐рдпрд╛... рдореИрдВрдиреЗ рдПрдХ pip install --upgraded with a whl file of backports.shutil_get_terminal_size рдХрд┐рдпрд╛ред

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

@jnault рдореБрдЭреЗ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рддреБрд░реА рдХреЗ рдЧреНрд░рд╛рдлрд╝рд▓реИрдм рдХреНрд░рд┐рдПрдЯ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдерд╛ред рдЖрдкрдиреЗ рдХрд┐рди рд╕рдЯреАрдХ рдЖрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛?

рдореБрдЭреЗ рдареАрдХ рд╕реЗ рдпрд╛рдж рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдореЗрд░реЗ рдХрджрдо:
1) Google рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди .whl рдФрд░ . рдХреЗ рд╕рд╛рде рдЦреЛрдЬрддрд╛ рд╣реИ
2) google search How to Install a Whl File
рдПрдЪрдПрдо рдареАрдХ рд╣реИ рдХрд┐ рднрджреНрджрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдпрд╛ рдХреБрдЫ рдФрд░ред рдореИрдВ рдИрдорд╛рдирджрд╛рд░ рд╣реВрдВ рдФрд░ рдорджрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рд╕рдЪрдореБрдЪ рдореИрдВрдиреЗ рдпрд╣реА рдХрд┐рдпрд╛ред рдмрд╣реБрдд рдпрдХреАрди рд╣реИ рдХрд┐ рдлрд╛рдЗрд▓ pypi рд╕реЗ рдЖрдИ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ whl рдлрд╝рд╛рдЗрд▓ рд╕рдВрднрд╡рддрдГ рдХреБрдЫ рднреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдкреНрд░рддрд┐рд╖реНрдард┐рдд рд╕реНрд░реЛрдд рд╕реЗ рдЖрдпрд╛ рд╣реИред
рдореИрдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЖрджреЗрд╢ рдерд╛: pip install --upgrad backports.shutil_get_terminal_size.whl

@oschow рдпрд╣ _ рдЪрд╛рд╣рд┐рдП_ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

# start by making sure pip, setuptools are up to date:
pip install --upgrade setuptools pip
# uninstall if pip thinks you already have it but don't seem to:
pip uninstall backports.shutil_get_terminal_size
# install it again with out definitely-up-to-date pip:
pip install --upgrade backports.shutil_get_terminal_size

^ рдорд┐рдирд░реНрдХ рдХреА рдмреЗрд╣рддрд░ рд╕рд▓рд╛рд╣ рд╣реИред
рдорд┐рдирд░реНрдХ, рдЖрдкрдиреЗ рд▓рд┐рдЦрд╛ "рдЕрдЧрд░ рдкрд┐рдк рдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛"ред рддреЛ, рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрд╛рдпрдерди рдЗрдВрд╕реНрдЯреЙрд▓ рдореЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЧрдИ рдереА рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЪреВрдХ рдЧрдИ? рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдпрд╣ рд╡рд░реНрддрдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рд╣реИ рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рд╣реИ?

рдЧреНрд░рд╛рдлрд╝рд▓реИрдм рдХреНрд░рд┐рдПрдЯ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереАред рдорд┐рдВрдХ рдХреЗ рд╕рдорд╛рдзрд╛рди рдиреЗ рдЗрд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рднреА рддрдп рдХрд┐рдпрд╛ред

@minrk рдХреЗ рдкрд╛рд╕ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдерд╛, рдмрд╕ рдПрдХ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХреЗ рдмрд╛рдж рдПрдХ рдЗрдВрд╕реНрдЯрд╛рд▓ рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред
рдореИрдВрдиреЗ рдЬреЛ рдХрд┐рдпрд╛ рдерд╛ рдпрд╣ рд░рд╣рд╛ред

рд╕реНрдерд╛рдкрдирд╛ рд░рджреНрдж рдХрд░реЗрдВ рдЕрдЧрд░ рдкрд╛рдЗрдк рдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ:

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

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдк-рдЯреВ-рдбреЗрдЯ рдкрд╛рдЗрдк рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

рдкрд╛рдЗрдк рдЗрдВрд╕реНрдЯрд╛рд▓ --рдЕрдкрдЧреНрд░реЗрдб рдмреИрдХрдкреЛрд░реНрдЯреНрд╕.shutil_get_terminal_size

<path-to>/Python/2.7/site-packages/backports/__init__.* рдирд┐рдХрд╛рд▓реЗрдВ

@bevice рдФрд░ рдлрд┐рд░?

рдЕрдм рддрдХ рдореИрдВ рдЗрд╕ рдзрд╛рдЧреЗ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдзрд╛рдЧреЗ рдкрд░ рдХрд┐рд╕реА рднреА рд╕реБрдЭрд╛рд╡ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд░ рдкрд╛рдпрд╛ рд╣реВрдВред

рдЕрдЧрд░ рдореИрдВ рджреМрдбрд╝рддрд╛ рд╣реВрдБ

$ python -s
>>> from backports.shutil_get_terminal_size import get_terminal_size
>>> get_terminal_size()
terminal_size(columns=112, lines=40)

рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИрдВред рд▓реЗрдХрд┐рди ipython рдпрд╛ jupyter рдиреЛрдЯрдмреБрдХ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдореБрдЭреЗ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ, рдЬреЛ рдЙрд╕реЗ Shutil_get_terminal_size рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдФрд░ backports.<something> рдкреИрдХреЗрдЬ рдХрд╣реАрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ рдЬрд┐рд╕рдиреЗ рдиреЗрдорд╕реНрдкреЗрд╕ рдкреИрдХреЗрдЬ рдорд╢реАрдирд░реА рдХреЛ рдЧрдбрд╝рдмрдбрд╝ рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдЖрдкрдХреЛ рд╢рд╛рдпрдж рдЗрд╕реЗ рдвреВрдВрдврдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╕рднреА рд╕реНрдерд╛рдкрд┐рдд рдкреИрдХреЗрдЬ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП pip list рдЖрдЬрд╝рдорд╛рдПрдВред

@takluyver рддреНрд╡рд░рд┐рдд рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдпрд╣ рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рдкрд╛рдпрд╛:

backports-abc (0.4)
backports.shutil-get-terminal-size (1.0.0)
backports.ssl-match-hostname (3.4.0.2)

рдЕрдм рдореИрдВ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ?

backports.ssl-match-hostname рдФрд░ backports.shutil-get-terminal-size рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред

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

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

рдпрджрд┐ рд╡рд╣ рдЕрднреА рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ backports.ssl-match-hostname рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджреЗрдВ (рдХрдо рд╕реЗ рдХрдо рдЬрдм рддрдХ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛ рдЬрд╛рдП ...)

рдареАрдХ рд╣реИред рдореИрдВрдиреЗ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд╣реА рдЧрдИ рд╣рд░ рдмрд╛рдд рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдлрд┐рд░ рднреА рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдЖрдпрд╛ред рдореЗрд░реЗ рд╡рд┐рдХрд▓реНрдк рдХреНрдпрд╛ рд╣реИрдВ? рд╕рдорд╕реНрдпрд╛ рддрдм рд╢реБрд░реВ рд╣реБрдИ рдЬрдм рдореИрдВрдиреЗ pymc3 рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред рджреВрд╕рд░реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐, рдореИрдВрдиреЗ рдирд┐рдкрд╛рдЗрдк рдЯреВрд▓рдмреЙрдХреНрд╕ рдореЗрдВ рдХреБрдЫ рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрджрд▓ рджреА рд╣реИрдВред рдХреНрдпрд╛ рдореБрдЭреЗ рдмрд╕ рд╕рдм рдХреБрдЫ рд╣рдЯрд╛ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрд╣ рдЕрдВрддрд┐рдо рдЙрдкрд╛рдп рд╣реЛрдЧрд╛, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИред

рдЖрдк рдЗрд╕реЗ рдЙрд╕реА рдкрд╛рдпрдерди рдореЗрдВ рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк IPython рдХреЛ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ:

import backports
print(backports)

рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдмреИрдХрдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдпрд╛ рд╣реИ:

>>> import backports
>>> print(backports)
<module 'backports' from '/nobackup/archimedes1/Glad/anaconda2_serverwide/lib/python2.7/site-packages/backports/

рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛, рдФрд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдпрд╛:

>>> import backports
>>> print(backports)
<module 'backports' (built-in)>

рддреЛ рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдРрд╕реЗ рдкреИрдХреЗрдЬ рд╣реИрдВ рдЬреЛ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдЦрд░рд╛рдм рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдЦреЛрдЬрд╛ рдЬрд╛рдПред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдвреВрдВрдврддрд╛ рд╣реВрдВ рддреЛ рдореИрдВ рдХреБрдЫ рднреА рдмрджрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рд░реВрдЯ рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИред

рдХреНрдпрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреБрдЫ рдФрд░ рд╣реИ рдЬреЛ рдЙрд╕рдиреЗ рдЖрдкрдХреЛ рд╡рд╣рд╛рдВ рджрд┐рдЦрд╛рдпрд╛ ( /nobackup/archimedes1/Glad/anaconda2_serverwide/lib/python2.7/site-packages/backports/ )?

рдирд╣реАрдВ, рдЕрдм рдЬрдмрдХрд┐ рдпрд╣ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рд╣реЛ рдЪреБрдХрд╛ рд╣реИ рддреЛ рдлреЛрд▓реНрдбрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧрд╛рдпрдм рд╣реИред рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд░реВрдк рдореЗрдВ
../site-packages/backports.shutil-get-terminal-size-1.0.0 рдЬреЛ рдХрд┐ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдкрд░ рд╡рд╣рд╛рдВ рд╣реБрдЖ рдХрд░рддрд╛ рдерд╛ред

рдХреНрдпрд╛ рдЖрдк рдкрд╛рдпрдерди рдореЗрдВ backports.__path__ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ?

рдмреИрдХрдкреЛрд░реНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛:
['/nobackup/archimedes1/Glad/anaconda2_serverwide/lib/python2.7/site-packages/backports']

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

рдореИрдВрдиреЗ anaconda2_serverwide рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдмреИрдХрдкреЛрд░реНрдЯ рдХреА рдЦреЛрдЬ рдХреАред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕ рд╕рдмрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред
рдпрд╣ рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рдкрд╛рдпрд╛:

file:///nobackup/archimedes1/Glad/anaconda2_serverwide/pkgs/future-0.15.2-py27_0/lib/python2.7/site-packages/future/backports
file:///nobackup/archimedes1/Glad/anaconda2_serverwide/pkgs/configparser-3.5.0-py27_0/lib/python2.7/site-packages/backports
file:///nobackup/archimedes1/Glad/anaconda2_serverwide/pkgs/ssl_match_hostname-3.4.0.2-py27_1/lib/python2.7/site-packages/backports
file:///nobackup/archimedes1/Glad/anaconda2_serverwide/pkgs/get_terminal_size-1.0.0-py27_0/lib/python2.7/site-packages/backports
file:///nobackup/archimedes1/Glad/anaconda2_serverwide/lib/python2.7/site-packages/future/backports
file:///nobackup/archimedes1/Glad/anaconda2_serverwide/pkgs/backports.shutil_get_terminal_size-1.0.0-py27_1/lib/python2.7/site-packages/backports
file:///nobackup/archimedes1/Glad/anaconda2_serverwide/pkgs/backports-1.0-py27_0/lib/python2.7/site-packages/backports
file:///nobackup/archimedes1/Glad/anaconda2_serverwide/pkgs/backports-1.0-py27_0
file:///nobackup/archimedes1/Glad/anaconda2_serverwide/pkgs/backports_abc-0.4-py27_0
file:///nobackup/archimedes1/Glad/anaconda2_serverwide/lib/python2.7/site-packages/backports_bak
file:///nobackup/archimedes1/Glad/anaconda2_serverwide/pkgs/backports.shutil_get_terminal_size-1.0.0-py27_1/lib/python2.7/site-packages/backports.shutil_get_terminal_size-1.0.0.dist-info
file:///nobackup/archimedes1/Glad/anaconda2_serverwide/pkgs/backports.shutil_get_terminal_size-1.0.0-py27_1
file:///nobackup/archimedes1/Glad/anaconda2_serverwide/pkgs/get_terminal_size-1.0.0-py27_0/lib/python2.7/site-packages/backports.shutil_get_terminal_size-1.0.0-py2.7.egg-info
file:///nobackup/archimedes1/Glad/anaconda2_serverwide/pkgs/ssl_match_hostname-3.4.0.2-py27_1/lib/python2.7/site-packages/backports.ssl_match_hostname-3.4.0.2-py2.7.egg-info
file:///nobackup/archimedes1/Glad/anaconda2_serverwide/pkgs/backports-1.0-py27_0.tar.bz2
file:///nobackup/archimedes1/Glad/anaconda2_serverwide/pkgs/backports.shutil_get_terminal_size-1.0.0-py27_1.tar.bz2
file:///nobackup/archimedes1/Glad/anaconda2_serverwide/pkgs/backports_abc-0.4-py27_0/lib/python2.7/site-packages/backports_abc-0.4-py2.7.egg-info
file:///nobackup/archimedes1/Glad/anaconda2_serverwide/lib/python2.7/site-packages/backports_abc-0.4-py2.7.egg-info
file:///nobackup/archimedes1/Glad/anaconda2_serverwide/conda-meta/backports-1.0-py27_0.json
file:///nobackup/archimedes1/Glad/anaconda2_serverwide/conda-meta/backports_abc-0.4-py27_0.json
file:///nobackup/archimedes1/Glad/anaconda2_serverwide/conda-meta/backports.shutil_get_terminal_size-1.0.0-py27_1.json
file:///nobackup/archimedes1/Glad/anaconda2_serverwide/lib/python2.7/site-packages/backports_abc.py
file:///nobackup/archimedes1/Glad/anaconda2_serverwide/pkgs/backports_abc-0.4-py27_0/lib/python2.7/site-packages/backports_abc.py
file:///nobackup/archimedes1/Glad/anaconda2_serverwide/lib/python2.7/site-packages/backports_abc.pyc
file:///nobackup/archimedes1/Glad/anaconda2_serverwide/pkgs/backports_abc-0.4-py27_0/lib/python2.7/site-packages/backports_abc.pyc

рдХреНрдпрд╛ рдЖрдкрдиреЗ backports рдХреА рд╕реНрдерд╛рдкрдирд╛ рд░рджреНрдж рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдкрд╛рдпрдерди рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд┐рдпрд╛ рдерд╛? рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдХреНрдпрд╛ рдЖрдк рдкрд╛рдпрдерди рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ backports.__path__ рдлрд┐рд░ рд╕реЗ рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ? рдЕрдЧрд░ рд╡рд╣рд╛рдВ рдХреЛрдИ рдлрд╛рдЗрд▓ рдирд╣реАрдВ рд╣реИ рддреЛ рдореБрдЭреЗ рдЙрд╕ рдкрде рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдкрддрд╛ рд╣реИред

рдореИрдВ рдкрд╛рдпрдерди рдХреЛ рдХреИрд╕реЗ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реВрдВ?

рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреА рднреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ:

> conda list | grep backports
backports                 1.0                      py27_0  
backports.shutil_get_terminal_size 1.0.0                    py27_1    conda-forge
backports_abc             0.4                      py27_0  

рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ backports.shutil_get_terminal_size рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП conda рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛:
> conda uninstall backports.shutil_get_terminal_size

рдЬрдм рдореИрдВ рдЕрдм рдЕрдЬрдЧрд░ рдореЗрдВ backports.shutil_get_terminal_size рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдЙрд╕реЗ рдпрд╣ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ ipython рдФрд░ jupyter рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдФрд░ ipython рдХреЛ conda рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд┐рд╕рдиреЗ jupyter рдФрд░ backports.shutil_get_terminal_size рдХреЛ рднреА рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ _рд╕реНрдЯрд┐рд▓_ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ! рдореИрдВ рдЙрд▓рдЭрди рдореЗрдВ рд╣реВрдВред

рдореИрдВрдиреЗ рддрдм рдХреЛрдВрдбрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рддрд┐рд╖реНрдард╛рдиреЛрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреБрдирдГ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред рдпрд╣ _рдЕрднреА рднреА_рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛...

рдореИрдВ рдкрд╛рдпрдерди рдХреЛ рдХреИрд╕реЗ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реВрдВ?

рдЗрд╕реЗ рдмрдВрдж рдХрд░реЗрдВ ( exit() ) рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВред

рдмреИрдХрдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХреА рдЧрдИ:

> conda list | grep backports
backports                 1.0                      py27_0  
backports.shutil_get_terminal_size 1.0.0                    py27_1    conda-forge
backports_abc             0.4                      py27_0  

рдЗрд╕реЗ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рднрд╛рдЧрд╛ рдЕрдЬрдЧрд░:

>>> import backports
>>> backports.shutil_get_terminal_size
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'shutil_get_terminal_size'

рдЗрд╕реЗ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛:

> pip install --upgrade backports.shutil_get_terminal_size
Requirement already up-to-date: backports.shutil_get_terminal_size in /nobackup/archimedes1/Glad/anaconda2_serverwide/lib/python2.7/site-packages

рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖрдпрд╛ред рдореИрдВ рдФрд░ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реБрдБ? рдХреНрдпрд╛ рдореИрдВ рдЗрд╕реЗ рд╕рд╣реА рджрд┐рд╢рд╛ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП terminal.py┬┤ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

рдпрджрд┐ рдЖрдк рд╕рднреА рдмреИрдХрдкреЛрд░реНрдЯ рдкреИрдХреЗрдЬ рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкрд╛рдпрдерди рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ:

import backports
backports.__path__

рдЖрдкрдХреЛ рдХреНрдпрд╛ рдорд┐рд▓реЗрдЧрд╛?

>>> import backports
>>> backports.__path__
['/home/raid2/mihai/.local/lib/python2.7/site-packages/backports', '/nobackup/archimedes1/Glad/anaconda2_serverwide/lib/python2.7/site-packages/backports']

рдХреНрдпрд╛ рдкреВрд░реНрд╡ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреБрдЫ рднреА рд╕реНрдерд╛рдкрд┐рдд рд╣реИ ( /home/raid2 рдХреЗ рддрд╣рдд рдПрдХ)?

рдпрд╣реА рд╡рд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╕рд┐рд╕реНрдЯрдорд╡рд╛рдЗрдб рдкрд╛рдпрдерди рдФрд░ рдЖрдИрдкреАрдереЙрди рдкреИрдХреЗрдЬ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╕реНрдерд╛рдиреАрдп рдПрдирд╛рдХреЛрдВрдбрд╛ рд╕рдВрд╕реНрдерд╛рдкрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рдФрд░ рдЗрд╕рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдЪ рдХрд╣рд╛ рдЬрд╛рдП, /home/raid2... рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рддрд╣рдд рдХреЛрдИ backports.shutil_get_terminal_size рдкреИрдХреЗрдЬ рдирд╣реАрдВ рд╣реИред

рдЬрдм рдореИрдВ рд╕рд┐рд╕реНрдЯрдорд╡рд╛рдЗрдб рдЗрдВрд╕реНрдЯреЙрд▓ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ (рдЬрд┐рд╕рдореЗрдВ ipython рдХрд╛ рдкреБрд░рд╛рдирд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрддрд╛ рд╣реИ) рдпрд╣ рдареАрдХ рдЪрд▓рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдЕрдкрдиреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рдирдП рдПрдирд╛рдХреЛрдВрдбрд╛ рдЗрдВрд╕реНрдЯрд╛рд▓ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ
export PATH="/nobackup/archimedes1/Glad/anaconda2_serverwide/bin:$PATH" , рдпрд╣ рд╡рд┐рдВрдбреЛ рдЖрдХрд╛рд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЗрд╕реЗ рдбреАрдмрдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдИ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

https://gist.github.com/takluyver/73cf4e7e7cff4d95f3b23ea80d59bcab

рдареАрдХ рд╣реИ!!!1

рдореИрдВрдиреЗ рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рд╣реИред
рдХреЛрдВрдбрд╛ рдФрд░ рдкрд╛рдЗрдк рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде ipython рдФрд░ jupyter рдФрд░ backports.shutil_get_window_size рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛:

conda uninstall jupyter ipython backports.shutil_get_window_size
pip uninstall jupyter ipython backports.shutil_get_window_size

рдореИрдВрдиреЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рдХрд┐рд╕реА рднреА рдкреИрдХреЗрдЬ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрдЪрд╛ рд╣реИред рддрдм рдореИрдВрдиреЗ рдХреЛрдВрдбрд╛ рдХреЗ рд╕рд╛рде рдХреЗрд╡рд▓ ipython рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛:

> conda install ipython
Fetching package metadata .........
Solving package specifications: ..........

Package plan for installation in environment //nobackup/archimedes1/Glad/anaconda2_serverwide:

The following NEW packages will be INSTALLED:

    backports:                          1.0-py27_0              
    backports.shutil_get_terminal_size: 1.0.0-py27_1 conda-forge
    ipython:                            5.1.0-py27_1 conda-forge

Proceed ([y]/n)? y

Extracting packages ...
[      COMPLETE      ]|###################################################################################| 100%
Linking packages ...
[      COMPLETE      ]|###################################################################################| 100%
mihai<strong i="11">@archimedes</strong>:/tmp > ipython

рдФрд░ рдЕрдм рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ !!! рдЖрдкрдХреЗ рдЙрджрд╛рд░ рд╕рдордп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @takluyver !

рдпрд╣рд╛рдБ рдЖрдкрдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рд╣реИ:

In [2]: run debug_namespace_pkg.py
mod: <module 'backports' from '/home/raid2/mihai/.local/lib/python2.7/site-packages/backports/__init__.pyc'>

backports.__path__ = ['/home/raid2/mihai/.local/lib/python2.7/site-packages/backports', '//nobackup/archimedes1/Glad/anaconda2_serverwide/lib/python2.7/site-packages/backports']

Found /home/raid2/mihai/.local/lib/python2.7/site-packages/backports
__init__.py contains:
from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)


Found //nobackup/archimedes1/Glad/anaconda2_serverwide/lib/python2.7/site-packages/backports
__init__.py contains:
from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)

рдареАрдХ рд╣реИ, рдЦреБрд╢реА рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдЕрдм рдЪреАрдЬреЛрдВ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдЙрдиреНрд╣реЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП; рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд┐рд╕реА рдХреЛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реЛрдиреЗ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреА рд╣реИред

рдореЗрд░реЗ рд╕рд╛рде рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рд╢реБрд░реБрдЖрдд рд╕реЗ рд╕рдм рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд╕рдм рдХреБрдЫ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ред рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдКрдкрд░ рд╕рд╛рдЭрд╛ рдХреА рдЧрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рднреА рдЪрд▓рд╛рдИ -
рдпрд╣рд╛рдБ рдЖрдЙрдЯрдкреБрдЯ рд╣реИ:

aranyo-139-61:Desktop shiva$ python debug_namespace_pkg.py
mod: <module 'backports' (built-in)>

backports.__path__ = ['/Users/shiva/Library/Python/2.7/lib/python/site-packages/backports']

Found /usr/local/lib/python2.7/site-packages/backports
__init__.py contains:
from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)


Found /Users/shiva/Library/Python/2.7/lib/python/site-packages/backports
No __init__.py found
Found /usr/local/lib/python2.7/site-packages/backports
__init__.py contains:
from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)

рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдХреЗ рд╕рд╛рде рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдореИрдВ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреЛрдВрдбрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ред

рдзрдиреНрдпрд╡рд╛рдж!

рдХреНрдпрд╛ /Users/shiva/Library/Python/2.7/lib/python/site-packages/backports рдореЗрдВ рдХреБрдЫ рд╣реИ? рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ/рдирд╛рдо рдмрджрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдХреНрдпрд╛/рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛/рд╢рд┐рд╡рд╛/рд▓рд╛рдЗрдмреНрд░реЗрд░реА/рдкрд╛рдпрдерди/2.7/lib/рдкрд╛рдпрдерди/рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ/рдмреИрдХрдкреЛрд░реНрдЯ рдореЗрдВ рдХреБрдЫ рд╣реИ? рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ/рдирд╛рдо рдмрджрд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдХреЛрд╢рд┐рд╢ рдХреА, рдЕрднреА рднреА рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдореИрдВрдиреЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд┐рдпрд╛ рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

mod: <module 'backports' (built-in)>

backports.__path__ = ['/Users/shiva/Library/Python/2.7/lib/python/site-packages/backports']

-- Found /usr/local/lib/python2.7/site-packages/backports --
Files: ['__init__.py', '__init__.pyc', 'shutil_get_terminal_size']
__init__.py contains:
from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)


-- Found /usr/local/lib/python2.7/site-packages/backports --
Files: ['__init__.py', '__init__.pyc', 'shutil_get_terminal_size']
__init__.py contains:
from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ/рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдкрд╛рдпрдерди рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд┐рдпрд╛ рд╣реИ? рдпрд╣ рдЕрднреА рднреА рдЗрд╕реЗ рдХрд┐рд╕реА рддрд░рд╣ рдвреВрдВрдв рд░рд╣рд╛ рд╣реИред

рдореИрдВ "python debug_namespace_pkg.py" рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВред рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЯрд░реНрдорд┐рдирд▓ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд┐рдпрд╛ред

рдФрд░ /Users/shiva/Library/Python/2.7/lib/python/site-packages/backports рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ? рдкрд╣рд▓реЗ рдХреА рддрд░рд╣, рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдЗрд╕реЗ рдХрд┐рд╕реА рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рд╕рдВрджрд░реНрдн рдХреИрд╕реЗ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рд╣реИред

рд╣рд╛рдБ, рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдирд╛рдо рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реНрдерд╛рди рдкрд░ рд░рдЦрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ рдХрд┐ рдЖрдкрдХрд╛ рдорддрд▓рдм /usr/local/lib/python2.7/site-packages/backports рдирд╣реАрдВ рд╣реИ?

рдирд╣реАрдВ, рдпрд╣реА рд╡рд╣ рд╣реИ рдЬрд┐рд╕реЗ рдЦреЛрдЬрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ /Users/shiva рдХреЗ рддрд╣рдд рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЗрд╕рдХреЗ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдЖ рд░рд╣рд╛ рд╣реИред рдпрд╣ рд░реЗрдЦрд╛ рджрд┐рдЦрд╛рддреА рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдвреВрдВрдв рд░рд╣рд╛ рд╣реИ:

backports.__path__ = ['/Users/shiva/Library/Python/2.7/lib/python/site-packages/backports']

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рдХреИрд╕реЗ рд╕рдВрднрд╡ рд╣реИред :рдЕрд╕реНрдкрд╖реНрдЯ:

рдЖрд╣, рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдХрднреА рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдерд╛: .pkg рдлрд╝рд╛рдЗрд▓реЗрдВред рдХреНрдпрд╛ рдЖрдк backports.pkg рдирд╛рдордХ рдлрд╝рд╛рдЗрд▓ рдвреВрдВрдв рд╕рдХрддреЗ рд╣реИрдВ?

( backports.pkg рд╢рд╛рдпрдж рдЙрди site-packages рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рд╣реЛрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХрд╣реАрдВ рдФрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)

рдореБрдЭреЗ рдХрд╣реАрдВ рднреА backports.pkg рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рд░реВрдЯ рдлреЛрд▓реНрдбрд░ рдореЗрдВ ./* -name backports.pkg рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред

рдЕрдВрдд рдореЗрдВ, рдЗрд╕рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ред

рдЙрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдЪрд▓рддрд╛, рдЙрд╕реЗ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдЪрд▓рддрд╛ред рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж :)

рдЕрдЬреАрдм, рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдЗрд╕реЗ рд╣рдЯрд╛рдирд╛ рд╕рд┐рд░реНрдл рдирд╛рдо рдмрджрд▓рдиреЗ рд╕реЗ рдЕрд▓рдЧ рдХреНрдпреЛрдВ рд╣реЛрдЧрд╛ред рдЦреБрд╢реА рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡реИрд╕реЗ рднреАред

рдореБрдЭреЗ рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛рдПрдВ рдЖ рд░рд╣реА рд╣реИрдВ рдФрд░ рдкрд╛рдЗрдк рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛/рд╕рд╛рдорд╛рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдорджрдж рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреА рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рд╣реИ ( python test.py рдХреЗ рдХрд╛рд░рдг):

mod: <module 'backports' (built-in)>

backports.__path__ = ['/home/ihincks/.local/lib/python2.7/site-packages/backports']

-- Found /usr/local/lib/python2.7/dist-packages/backports --
Files: ['__init__.py', '__init__.pyc', 'shutil_get_terminal_size']
__init__.py contains:
from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)

рдореЗрд░реЗ рдкрд╛рд╕ рд╣реИ:

$ ls /home/ihincks/.local/lib/python2.7/site-packages/ | grep backports
backports_abc-0.5.dist-info
backports_abc.py
backports_abc.pyc
backports.shutil_get_terminal_size-1.0.0

рдореИрдВ рдЕрдВрддрддрдГ рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдХ рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ред (рд▓рд┐рдирдХреНрд╕ рдкрд░) /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

рд╡рд╣реА рдмрд╛рдд рдлрд┐рд░ рд╕реЗ - рдХрд┐рд╕реА рднреА рддрд░рд╣ рдпрд╣ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдвреВрдВрдв рд░рд╣реА рд╣реИ рдЬреЛ рд╡рд╣рд╛рдВ рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдХреНрдпрд╛ рдЖрдк backport.pkg рдлрд╝рд╛рдЗрд▓ рднреА рдвреВрдВрдв рд╕рдХрддреЗ рд╣реИрдВ? рдореИрдВ рдЗрд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЬреЛрдбрд╝ рджреВрдВрдЧрд╛ред

рдирд╡реАрдирддрдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ:

mod: <module 'backports' (built-in)>

backports.__path__ = ['/home/ihincks/.local/lib/python2.7/site-packages/backports']

-- Found /usr/local/lib/python2.7/dist-packages/backports --
Files: ['__init__.py', '__init__.pyc', 'shutil_get_terminal_size']
__init__.py contains:
from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)

рдпрд╣ рдЧреБрд╕реНрд╕рд╛ рд╣реИ; рдореИрдВ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрддрд╛ рдХрд┐ рдпрд╣ рдкрд╣рд▓рд╛ рдкрде рдХреИрд╕реЗ рдвреВрдВрдв рд░рд╣рд╛ рд╣реИ ( /home/ihincks/... )ред

рдХреНрдпрд╛ /home/ihincks/.local/lib/python2.7/site-packages/ рдореЗрдВ рдХреБрдЫ рдФрд░ рд╣реИ рдЬреЛ рд╕рдордЭрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕реЗ рд╡рд╣рд╛рдВ backports рдХреНрдпреЛрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ?

рдореБрдЭреЗ рдареАрдХ-рдареАрдХ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдореБрдЭреЗ рдХреНрдпрд╛ рдвреВрдБрдврд╝рдирд╛ рд╣реИред рдпрд╣рд╛рдБ рд╕рдм рдХреБрдЫ рд╣реИ /home/ihincks/.local/lib/python2.7/site-packages/ :

backports_abc-0.5.dist-info
backports_abc.py
backports_abc.pyc
backports.shutil_get_terminal_size-1.0.0
bleach
bleach-1.5.0.dist-info
certifi
certifi-2016.9.26.dist-info
configparser-3.5.0.dist-info
configparser-3.5.0-nspkg.pth
configparser.py
configparser.pyc
entrypoints-0.2.2.dist-info
entrypoints.py
entrypoints.pyc
enum
enum34-1.1.6.dist-info
functools32
functools32-3.2.3.post2.dist-info
html5lib
html5lib-0.9999999.dist-info
ipykernel
ipykernel-4.5.2.dist-info
ipython_genutils
ipython_genutils-0.1.0.dist-info
ipywidgets
ipywidgets-5.2.2.dist-info
jinja2
Jinja2-2.8.dist-info
jsonschema
jsonschema-2.5.1.dist-info
jupyter_client
jupyter_client-4.4.0.dist-info
jupyter_console
jupyter_console-5.0.0.dist-info
jupyter_core
jupyter_core-4.2.1.dist-info
markupsafe
MarkupSafe-0.23.dist-info
mistune-0.7.3.dist-info
mistune.py
mistune.pyc
nbconvert
nbconvert-5.0.0.dist-info
nbformat
nbformat-4.2.0.dist-info
pandocfilters-1.4.1.dist-info
pandocfilters.py
pandocfilters.pyc
pexpect
pexpect-4.2.1.dist-info
pickleshare-0.7.4.dist-info
pickleshare.py
pickleshare.pyc
prompt_toolkit
prompt_toolkit-1.0.9.dist-info
ptyprocess
ptyprocess-0.5.1.dist-info
pyzmq-16.0.2.dist-info
qtconsole
qtconsole-4.2.1.dist-info
simplegeneric-0.8.1.dist-info
simplegeneric.py
simplegeneric.pyc
singledispatch-3.4.0.3.dist-info
singledispatch_helpers.py
singledispatch_helpers.pyc
singledispatch.py
singledispatch.pyc
six-1.10.0.dist-info
six.py
six.pyc
terminado
terminado-0.6.dist-info
testpath
testpath-0.3.dist-info
tornado
tornado-4.4.2.dist-info
traitlets
traitlets-4.3.1.dist-info
wcwidth
wcwidth-0.1.7.dist-info
widgetsnbextension
widgetsnbextension-1.2.6.dist-info
zmq

backports.shutil_get_terminal_size-1.0.0 рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдХреНрдпрд╛ рд╣реИ?

рдпрд╣ рдПрдХ рдкрд╛рдпрдерди рдкреИрдХреЗрдЬ рд╣реИ, рдЬреЛ $# backports.shutil_get_terminal_size #$ рдореЗрдВ рдПрдХрд▓ рдлрд╝рдВрдХреНрд╢рди get_terminal_size рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рдВрд░рдЪрдирд╛ рд╣реИ:

./
тФЬтФАтФА backports
тФВ┬а┬а тФЬтФАтФА __init__.py
тФВ┬а┬а тФФтФАтФА shutil_get_terminal_size
тФВ┬а┬а     тФЬтФАтФА get_terminal_size.py
тФВ┬а┬а     тФФтФАтФА __init__.py
тФЬтФАтФА backports.shutil_get_terminal_size.egg-info
тФВ┬а┬а тФЬтФАтФА dependency_links.txt
тФВ┬а┬а тФЬтФАтФА PKG-INFO
тФВ┬а┬а тФЬтФАтФА SOURCES.txt
тФВ┬а┬а тФФтФАтФА top_level.txt
тФЬтФАтФА HISTORY.rst
тФЬтФАтФА LICENSE
тФЬтФАтФА MANIFEST.in
тФЬтФАтФА PKG-INFO
тФЬтФАтФА README.rst
тФЬтФАтФА setup.cfg
тФЬтФАтФА setup.py
тФЬтФАтФА test_shutil_get_terminal_size.py
тФФтФАтФА tox.ini

PKG-INFO рдХреА рд╕рд╛рдордЧреНрд░реА рд╣реИрдВ:

Metadata-Version: 1.1
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]
License: MIT
Description: backports.shutil_get_terminal_size
        ==================================

        A backport of the `get_terminal_size`_ function from Python 3.3's shutil.

        Unlike the original version it is written in pure Python rather than C,
        so it might be a tiny bit slower.

        .. _get_terminal_size: https://docs.python.org/3/library/shutil.html#shutil.get_terminal_size


        Example usage
        -------------

            >>> from backports.shutil_get_terminal_size import get_terminal_size
            >>> get_terminal_size()
            terminal_size(columns=105, lines=33)



        History
        =======

        1.0.0 (2014-08-19)
        ------------------

        First release.

Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.2

рдЖрд╣, рдареАрдХ рд╣реИ, рдореИрдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдБ рдХрд┐ рдЖрдкрдиреЗ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ sdist рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЕрдирдкреИрдХ рдХрд┐рдпрд╛ рд╣реИред рдХреНрдпрд╛ рдЙрд╕ рдкреВрд░реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ ( backports.shutil_get_terminal_size-1.0.0 ) рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдкрдбрд╝рддрд╛ рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд▓рд╛рд▓ рд╣реЗрд░рд┐рдВрдЧ рд╣реИред

рдареАрдХ рд╣реИ, /usr/local/lib/python2.7/dist-packages/IPython/utils/terminal.py рдХреЛ рд╡рд╛рдкрд╕ рдореВрд▓ рд░реВрдк рдореЗрдВ рд▓реМрдЯрд╛ рджрд┐рдпрд╛ред ipython рджреМрдбрд╝рд╛ рдФрд░ ImportError: No module named shutil_get_terminal_size рддреНрд░реБрдЯрд┐ рдорд┐рд▓реАред

рдлрд┐рд░ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ /home/ihincks/.local/lib/python2.7/site-packages/backports.shutil_get_terminal_size-1.0.0 рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ $ /home/ihincks рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛ред рдЙрд╕реА рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде ipython рдлрд┐рд░ рд╕реЗ рджреМрдбрд╝рд╛ред

рдареАрдХ рд╣реИ, рддрд╛рдХрд┐ рдлрд╝реЛрд▓реНрдбрд░ рд╕рд┐рд░реНрдл рдПрдХ рд▓рд╛рд▓ рд╣реЗрд░рд┐рдВрдЧ рд╣реЛ, рдФрд░ рдореИрдВ рдЕрднреА рднреА рдЕрдВрдзреЗрд░реЗ рдореЗрдВ рд╣реВрдВ рдХрд┐ рдпрд╣ /home/ihincks/.local/lib/python2.7/site-packages/backports рдХреИрд╕реЗ рдвреВрдВрдв рд░рд╣рд╛ рд╣реИ :-(

рд╣рдореНрдо, рдХрд╛рд╢ рдореИрдВ рдФрд░ рдорджрдж рдХрд░ рдкрд╛рддрд╛, рдореИрдВ рдХреЗрд╡рд▓ рдЖрдзрд╛ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ; рдкрд╛рдпрдерди рдкрде/рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реНрдерд╛рдкрдирд╛ рд╕рд╛рдордЧреНрд░реА рдЖрдо рддреМрд░ рдкрд░ рдореБрдЭреЗ рднреНрд░рдорд┐рдд рдХрд░рддреА рд╣реИред

рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ, рдпрд╣ рдХреБрдЫ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЫрд┐рдкрд╛ рд╣реБрдЖ рдХрд╛рд▓рд╛ рдЬрд╛рджреВ рд▓рдЧрддрд╛ рд╣реИред

рдЕрдЧрд░ рдХреЛрдИ рдЗрд╕реЗ рдРрд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рджреЛрд╣рд░рд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╡реЗ рдореБрдЭреЗ ssh рдПрдХреНрд╕реЗрд╕ рджреЗрдиреЗ рдореЗрдВ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВред

рдореБрдЭреЗ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реБрдИ ....рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЬреНрдпреВрдкрд┐рдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдЬрдм рдореИрдВрдиреЗ рдПрдХ ipython рдиреЛрдЯрдмреБрдХ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рддреЛ рдпрд╣ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдХрд░реНрдиреЗрд▓ рдмреИрдХрдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдпрд╛рдд рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдорд░ рдЪреБрдХрд╛ рд╣реИред shutil_get_terminal_sizeред рдЕрдВрдд рдореЗрдВ, рдореИрдВрдиреЗ рдкрд╛рдЗрдк рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ, рдЬреНрдпреВрдкрд┐рдЯрд░ рдФрд░ рдмреИрдХрдкреЛрд░реНрдЯреНрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ред рд╢реБрдЯрд┐рд▓-рдЧреЗрдЯ-рдЯрд░реНрдорд┐рдирд▓-рд╕рд╛рдЗрдЬ рдХрдИ рдмрд╛рд░ тАжтАжтАж рдФрд░ рдЕрдВрдд рдореЗрдВ рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ: python2 -m ipykernel install --userред рдЗрд╕рдиреЗ рдореЗрд░реЗ рдХрд░реНрдиреЗрд▓ рдХреЛ рдЬреАрд╡рди рджрд┐рдпрд╛ред рд╕рдВрджрд░реНрдн : http://askubuntu.com/questions/847263/install-jupyter-for-python-2-7-in-ubuntu-14-04

рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдФрд░ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдкрд░ /usr/lib/python2.7/site-packages/backports.shutil_get_terminal_size-1.0.0.dist-info, рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдкрд╛рдпрд╛:

total 28
-rw-r--r--. 1 root root  596 Feb 27 10:42 DESCRIPTION.rst
-rw-r--r--. 1 root root    4 Feb 27 10:42 INSTALLER
-rw-r--r--. 1 root root 1175 Feb 27 10:42 METADATA
-rw-r--r--. 1 root root  701 Feb 27 10:42 metadata.json
-rw-r--r--. 1 root root 1455 Feb 27 10:42 RECORD
-rw-r--r--. 1 root root   10 Feb 27 10:42 top_level.txt
-rw-r--r--. 1 root root  110 Feb 27 10:42 WHEEL

рдФрд░ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВред рдЗрд╕рдХреЗ рдмрд╛рдж pip --upgrad, pip рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓/рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ ipython рдЗрддреНрдпрд╛рджрд┐ред рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдЗрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛, рд╕рд┐рд░реНрдл рдкрд╣рд┐рдпрд╛ред рдореИрдВрдиреЗ .tar.gz рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХреА, рдЗрд╕реЗ рд╡реНрд╣реАрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд┐рд╕рдиреЗ рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬреЛ рдореЗрд░реЗ рдкрд╛рд╕ ipython рдХреЗ рд╕рд╛рде рдерд╛ред рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдореИрдВ RHEL7 рдореЗрдВ рджреМрдбрд╝ рд░рд╣рд╛ рд╣реВрдВ, рддрд╛рдХрд┐ рд╢рд╛рдпрдж рдЗрд╕рд╕реЗ рдХреБрдЫ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реЛред

.dist-info рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реНрдерд╛рдкрд┐рдд рдкреИрдХреЗрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓ рд╣реИ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдХреБрдЫ рднреА рдЖрдпрд╛рдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИред рдХреЛрдб рдПрдХ рдЖрд╕рдиреНрди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: /usr/lib/python2.7/site-packages/backports

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдЖрдкрдХреА рдорджрдж рдХрд░ рд╕рдХреЗ: pip install --user backports.shutil_get_terminal_size , рдпрджрд┐ рдЖрдкрдХрд╛ ipython рд░реВрдЯ рдпрд╛ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред

рд╣реИрд▓реЛ рджреЛрд╕реНрддреЛрдВ,

рдЕрдЧрд░ рдЖрдк рд▓реЛрдЧреЛрдВ рдиреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ

pip install backports.shutil_get_terminal_size

рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЕрдкрдиреЗ sys рдкрде рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ

import sys
print sys.path

рдкреНрд░рддреНрдпреЗрдХ рдкрде рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдпрджрд┐ ipython рдореЙрдбрд▓ рдХреЗ рд╕рд╣реА рдкрде рд╕реЗ рдкрд╣рд▓реЗ рдмреИрдХрдкреЛрд░реНрдЯ рдкреИрдХреЗрдЬ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реАрдзреЗ рд╣рдЯрд╛ рджреЗрдВред

рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рдмрдЧ рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рдЕрдЬреАрдм рд╕рдВрд╕реНрдХрд░рдг рд╣реИ:

pde<strong i="6">@damoclid</strong>:~$ 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
pde<strong i="7">@damoclid</strong>:~$ python
Python 2.7.13 (default, Jan 19 2017, 14:48:08) 
[GCC 6.3.0 20170118] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> 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
>>> import sys
>>> print [p for p in sys.path if os.path.exists(p + "/backports")]
['/usr/lib/python2.7/dist-packages']
>>> import backports
>>> backports.__path__
['/usr/local/lib/python2.7/dist-packages/backports']
>>> os.path.exists("/usr/local/lib/python2.7/dist-packages/backports")
False
>>> dir(backports)
['__doc__', '__name__', '__path__']
>>> 
pde<strong i="8">@damoclid</strong>:~$ cd /usr/local/bin/
pde<strong i="9">@damoclid</strong>:/usr/local/bin$ cd ..
pde<strong i="10">@damoclid</strong>:/usr/local$ sudo find . -iname \*backports\*
pde<strong i="11">@damoclid</strong>:/usr/local$

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддрд╛ рдХрд┐ рдкрд╛рдЗрдерди рдХреЛ рджреЗрд╢реА рдУрдПрд╕ рдкреИрдХ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ backports / backports.shutil_get_terminal_size , рдпрд╛ рдпрд╣ /usr/local рдореЗрдВ backports рдХрд╛ рднреВрддрд┐рдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреНрдпреЛрдВ рдвреВрдВрдв рд░рд╣рд╛ рд╣реИ /рд▓рд┐рдм. рдореЗрд░рд╛ sys.path рд╣реИ:

['', '/usr/lib/python2.7/dist-packages', '/usr/local/lib/python2.7/dist-packages/ropevim-0.7.0-py2.7.egg', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/home/pde/.local/lib/python2.7/site-packages', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7', '/usr/lib/python2.7/dist-packages/wx-3.0-gtk2']

pde<strong i="13">@damoclid</strong>:/usr/local$ ls -ld `dpkg -L python-backports-shutil-get-terminal-size `
drwxr-xr-x   26 root root   4096 Mar  7 23:01 /./
drwxr-xr-x   12 root root   4096 Apr  5  2014 /usr/
drwxr-xr-x  201 root root  36864 May 14 22:01 /usr/lib/
drwxr-xr-x   27 root root  20480 Apr  4 15:53 /usr/lib/python2.7/
drwxr-xr-x  296 root root  20480 May 15 18:02 /usr/lib/python2.7/dist-packages/
drwxr-xr-x    3 root root   4096 May 15 17:35 /usr/lib/python2.7/dist-packages/backports/
-rw-r--r--    1 root root     75 Aug 19  2014 /usr/lib/python2.7/dist-packages/backports/__init__.py
drwxr-xr-x    2 root root   4096 May 15 17:35 /usr/lib/python2.7/dist-packages/backports/shutil_get_terminal_size/
drwxr-xr-x    2 root root   4096 May 15 17:35 /usr/lib/python2.7/dist-packages/backports.shutil_get_terminal_size-1.0.0.egg-info/
-rw-r--r--    1 root root      1 Jul 28  2016 /usr/lib/python2.7/dist-packages/backports.shutil_get_terminal_size-1.0.0.egg-info/dependency_links.txt
-rw-r--r--    1 root root   1402 Jul 28  2016 /usr/lib/python2.7/dist-packages/backports.shutil_get_terminal_size-1.0.0.egg-info/PKG-INFO
-rw-r--r--    1 root root     10 Jul 28  2016 /usr/lib/python2.7/dist-packages/backports.shutil_get_terminal_size-1.0.0.egg-info/top_level.txt
-rw-r--r--    1 root root   2913 Aug 19  2014 /usr/lib/python2.7/dist-packages/backports/shutil_get_terminal_size/get_terminal_size.py
-rw-r--r--    1 root root    338 Aug 19  2014 /usr/lib/python2.7/dist-packages/backports/shutil_get_terminal_size/__init__.py
drwxr-xr-x  398 root root  12288 May 14 22:01 /usr/share/
drwxr-xr-x 3114 root root 126976 May 15 18:02 /usr/share/doc/
drwxr-xr-x    2 root root   4096 May 15 17:35 /usr/share/doc/python-backports-shutil-get-terminal-size/
-rw-r--r--    1 root root    333 Jul 28  2016 /usr/share/doc/python-backports-shutil-get-terminal-size/changelog.Debian.gz
-rw-r--r--    1 root root     71 Aug 19  2014 /usr/share/doc/python-backports-shutil-get-terminal-size/changelog.gz
-rw-r--r--    1 root root   1372 Jul 28  2016 /usr/share/doc/python-backports-shutil-get-terminal-size/copyright

рдореИрдВ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ 5.4 рдХреЗ рд░реВрдк рдореЗрдВ рдЯреИрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХреНрд░реЗрддрд╛ shutil_get_terminal_size рдЪрд╛рд╣рд┐рдПред

@Carreau fwiw рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдБ рдПрдХ рдкрд╛рдЗрдк рдпрд╛ рдЕрдЬрдЧрд░ рдмрдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдореИрдВрдиреЗ рдХреБрдЫ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рдХрд┐рдпрд╛, рдпрд╛ рд╢рд╛рдпрдж рджреЛрдиреЛрдВред рдЗрд╕реЗ рдХреБрдЫ рдФрд░ рдЬрд╛рдирдХрд╛рд░ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рдордиреЗ рдЪрд▓рд╛рдПрдВрдЧреЗред

рдПрдХ рдФрд░ рдорд╛рдорд▓рд╛ рдЬрд╣рд╛рдВ рдЗрд╕реЗ backports рдкреИрдХреЗрдЬ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рд╣реИред рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдиреЗ рдРрд╕рд╛ рдХреБрдЫ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рднреА рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрддрд╛ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдВ рд╕реЗ рдЖрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдФрд░ .pkg рдФрд░ .pth рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЪрд╛рд░реЛрдВ рдУрд░ рджреЗрдЦреЗрдВ, рдЬреЛ рдЗрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ @Carreau , рд╕рдорд╕реНрдпрд╛ configparser рдореЙрдбреНрдпреВрд▓ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╛рдордиреЗ рдЖрдИ:

pde<strong i="8">@damoclid</strong>:~/aip$ sudo grep backport `locate *.pth`
/usr/local/lib/python2.7/dist-packages/configparser-3.5.0-nspkg.pth:import sys, types, os;p = os.path.join(sys._getframe(1).f_locals['sitedir'], *('backports',));ie = os.path.exists(os.path.join(p,'__init__.py'));m = not ie and sys.modules.setdefault('backports', types.ModuleType('backports'));mp = (m or []) and m.__dict__.setdefault('__path__',[]);(p not in mp) and mp.append(p)
pde<strong i="9">@damoclid</strong>:~/aip$ pip freeze | grep configp
configparser==3.3.0.post2
pde<strong i="10">@damoclid</strong>:~/aip$ cd /usr/local/lib/
pde<strong i="11">@damoclid</strong>:/usr/local/lib$ find . -iname *configp*
./python2.7/dist-packages/configparser-3.5.0.dist-info
./python2.7/dist-packages/future/moves/configparser.py
./python2.7/dist-packages/future/moves/configparser.pyc
./python2.7/dist-packages/configparser.py
./python2.7/dist-packages/configparser-3.5.0-nspkg.pth
./python2.7/dist-packages/configparser.pyc
pde<strong i="12">@damoclid</strong>:/usr/local/lib$ sudo pip uninstall configparser
Not uninstalling configparser at /usr/lib/python2.7/dist-packages, outside environment /usr
pde<strong i="13">@damoclid</strong>:/usr/local/lib$ sudo rm -rf `find . -iname *configp*`
pde<strong i="14">@damoclid</strong>:/usr/local/lib$ ipython
Python 2.7.13 (default, Jan 19 2017, 14:48:08) 
Type "copyright", "credits" or "license" for more information.

IPython 5.1.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]:                                                                                                                                                                 
Do you really want to exit ([y]/n)? y

рдЗрд╕реЗ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреЗ рд▓рд┐рдП @erikrose рдХреЛ рдзрдиреНрдпрд╡рд╛рджред

# 10587 рд╡рд┐рдХреНрд░реЗрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдВрдж рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рдЪреАрдЬреЗрдВ рдФрд░ рдЖрдИрдкреАрдереЙрди 5.4 рдЬрд▓реНрдж рд╣реА рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП

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

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

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

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

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

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

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