Ipython: test_history рд╡рд┐рдлрд▓рддрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 8 рдЕрдХреНрддреВре░ 2018  ┬╖  16рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ipython/ipython

рдореИрдВ рдУрдкрди рдХреЗ рд▓рд┐рдП ipython 7.0.1 рдкреИрдХреЗрдЬ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИ:

======================================================================
FAIL: IPython.core.tests.test_history.test_history
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/usr/lib/python3.6/site-packages/IPython/core/tests/test_history.py", line 113, in test_history
    newhist[3]])
AssertionError: Lists differ: [(1, [51 chars]rn test'), (1, 3, "b='тВм├Ж┬╛├╖├Я'"), (2, 1, 'z=5'), (2, 3, "k='p'")] != [(1, [51 chars]rn test'), (1, 3, "b='тВм├Ж┬╛├╖├Я'"), (2, 3, "k='p'"), (2, 4, 'z=5')]

First differing element 3:
(2, 1, 'z=5')
(2, 3, "k='p'")

  [(1, 1, 'a=1'),
   (1, 2, 'def f():\n    test = 1\n    return test'),
   (1, 3, "b='тВм├Ж┬╛├╖├Я'"),
-  (2, 1, 'z=5'),
-  (2, 3, "k='p'")]
?                 ^

+  (2, 3, "k='p'"),
?                 ^

+  (2, 4, 'z=5')]
-------------------- >> begin captured stdout << ---------------------
def f():
    test = 1
    return test
b='тВм├Ж┬╛├╖├Я'
The following commands were written to file `/tmp/tmphhgt1b7l/tmpsytny8bh/test4.py`:
a=1
def f():
    test = 1
    return test
b='тВм├Ж┬╛├╖├Я'

--------------------- >> end captured stdout << ----------------------
    """Fail immediately, with the given message."""
>>  raise self.failureException('Lists differ: [(1, [51 chars]rn test\'), (1, 3, "b=\'тВм├Ж┬╛├╖├Я\'"), (2, 1, \'z=5\'), (2, 3, "k=\'p\'")] != [(1, [51 chars]rn test\'), (1, 3, "b=\'тВм├Ж┬╛├╖├Я\'"), (2, 3, "k=\'p\'"), (2, 4, \'z=5\')]\n\nFirst differing element 3:\n(2, 1, \'z=5\')\n(2, 3, "k=\'p\'")\n\n  [(1, 1, \'a=1\'),\n   (1, 2, \'def f():\\n    test = 1\\n    return test\'),\n   (1, 3, "b=\'тВм├Ж┬╛├╖├Я\'"),\n-  (2, 1, \'z=5\'),\n-  (2, 3, "k=\'p\'")]\n?                 ^\n\n+  (2, 3, "k=\'p\'"),\n?                 ^\n\n+  (2, 4, \'z=5\')]')


----------------------------------------------------------------------

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реЗ рджреЛ рд╕реВрдЪреА рддрддреНрд╡реЛрдВ рдиреЗ рд╕реНрдерд╛рди рдмрджрд▓ рджрд┐рдП рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред


рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

рд╣рдо рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреЛ рдЪрд░рдгреЛрдВ рдореЗрдВ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

1) рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕рд╛рдЗрдХреНрд▓рд╛рдЗрдЯ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рд╢реНрд░реЗрдгреА рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХреЛ рд╕реНрдХрд┐рдк (рдпрд╛ рдЬреНрдЮрд╛рдд рд╡рд┐рдлрд▓) рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдВред
2) рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ рдпрд╛ рдпрджрд┐ рдкрд░реАрдХреНрд╖рдг рддрджрдиреБрд╕рд╛рд░ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

Hacktoberfest help wanted

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ IPython рдХреЛрдбрдмреЗрд╕ рдкрд░ рдЕрдВрдбрд░рд╕реНрдХреЛрд░ рдХреЗ рдмрд┐рдирд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡рд╣рд╛рдБ ред

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

$ rg <strong i="11">@skipif</strong> -tpy
IPython/extensions/tests/test_autoreload.py
133:    @skipif(sys.version_info < (3, 6))

IPython/core/tests/test_interactiveshell.py
531:    @skipif(not hasattr(signal, 'SIGALRM'))

IPython/lib/tests/test_latextools.py
47:<strong i="12">@skipif_not_matplotlib</strong>
62:<strong i="13">@skipif_not_matplotlib</strong>

IPython/lib/tests/test_display.py
182:<strong i="14">@skipif_not_numpy</strong>
 ~/dev/ipython[master тЬЧ] $ rg <strong i="15">@skip_if</strong> -tpy
IPython/lib/tests/test_clipboard.py
7:<strong i="16">@skip_if_no_x11</strong>

IPython/utils/tests/test_path.py
102:<strong i="17">@skip_if_not_win32</strong>
117:<strong i="18">@skip_if_not_win32</strong>
157:<strong i="19">@skip_if_not_win32</strong>
377:    <strong i="20">@skip_if_not_win32</strong>
468:    <strong i="21">@skip_if_not_win32</strong>

... рдФрд░ рдореЗрд░реА рдорд╢реАрди рдкрд░ 10x рддреЗрдЬред

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

рдЖрдк рдкрд╛рдпрдерди рдХреЗ рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ? рд╕рд╛рдЗрдХреНрд▓рд╛рдЗрдЯ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рднреА рджреЗрдЦреЗрдВред

рдпрд╣рд╛рдБ рдЕрдЬрдЧрд░ рдФрд░ рд╕рд╛рдЗрдХреНрд▓рд╛рдЗрдЯ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ:

libsqlite3-0-3.25.0-1.1
python3-3.6.5-3.4

рдФрд░ рдХреБрдЫ рдЕрдиреНрдп рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:

bash-4.4-107.1
coreutils-8.30-1.2
gcc8-8.2.1+r264010-1.1
gettext-runtime-mini-0.19.8.1-9.1
gettext-tools-mini-0.19.8.1-9.1
glibc-2.27-6.1
libdb-4_8-4.8.30-36.5
libgdbm5-1.14.1-1.6
libgdbm_compat4-1.14.1-1.6
libncurses6-6.1-6.5
libreadline7-7.0-2.1
libstdc++6-8.2.1+r264010-1.1
libzmq5-4.2.5-2.1
linux-glibc-devel-4.18-1.1
ncurses-utils-6.1-6.5
python3-ipython_genutils-0.2.0-2.1
python3-jedi-0.12.1-1.1
python3-jsonschema-2.6.0-2.2
python3-jupyter_client-5.2.3-4.1
python3-jupyter_core-4.4.0-3.1
python3-jupyter_ipyparallel-6.2.2-6.27
python3-jupyter_ipywidgets-7.4.2-10.1
python3-jupyter_nbconvert-5.4.0-15.11
python3-jupyter_nbformat-4.4.0-3.1
python3-jupyter_notebook-5.7.0-8.3
python3-jupyter_qtconsole-4.4.1-5.2
python3-jupyter_widgetsnbextension-3.4
python3-nose-1.3.7-10.1
python3-pexpect-4.6.0-2.1
python3-pyparsing-2.2.0-2.1
python3-pyzmq-17.1.2-1.1
python3-setuptools-40.4.3-1.1
python3-simplegeneric-0.8.1-8.4
python3-simplejson-3.16.1-1.1
python3-six-1.11.0-4.1
python3-terminado-0.8.1-3.1
python3-testpath-0.4.1-4.1
python3-traitlets-4.3.2-4.1
python3-wcwidth-0.1.7-2.1

рд╕рдорд╕реНрдпрд╛ 6.5 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рднреА рд╣реЛ рд░рд╣реА рд╣реИред рдЬрдм рд╣рдо sqlite3 3.24.0 рд╕реЗ 3.25.0 рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ z=5 рдХреЗ рд▓рд┐рдП рдЯрдкрд▓ рдореЗрдВ рджреВрд╕рд░рд╛ рдирдВрдмрд░ рдмрджрд▓ рдЧрдпрд╛ рд╣реИред рдпрд╣ line number (AFAICT) рд╣реИред

рддреЛ 1 рдХреЗ рдмрдЬрд╛рдп 4 рдХреНрдпреЛрдВ ...? рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рд╣рдо unique рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдХреЗрд╡рд▓ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ 3rd рдХреЙрд▓рдо рдФрд░ sqlite рдХреЛ рд░рд╛рдЗрдЯ рдХрд░реЗрдВ рдпрд╣ рдЖрдВрддрд░рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓рдиреЗ рдФрд░ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ рдЦреБрд╢ рд╣реИ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ z=5 рдХрд╛ рджреВрд╕рд░рд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд▓реМрдЯрд╛рддрд╛ рд╣реИ?

рдореИрдВрдиреЗ рдпрд╣ рдЦреЛ рджрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрд╕рдХреНрдпреВрдПрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдЬрд╛рдирддрд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг 3.25.2 рдХреЗ рд╕рд╛рде рдЕрднреА рднреА рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХреА рд╣реИред

рдореИрдВ рдПрдХ SQL рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рд╣реВрдВ, рдЬреЛ рдореИрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓рддрд╛ рдирд╣реАрдВ рд╣реИ
рдирд╛рдЬреБрдХред рдПрдХ "рдЬреНрдЮрд╛рдд рд╡рд┐рдлрд▓" рдорд╛рд░реНрдХрд░ рдЖрдкрдХреЛ рдУрдкрдирдПрд╕рдпреВрдПрд╕рдИ рдпрд╛ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛
рдХреНрдпрд╛ рдЖрдк рдореВрд▓ рдХрд╛рд░рдг рдвреВрдВрдврдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ?

рд╕реВрд░реНрдп рдкрд░, рдЕрдХреНрдЯреВрдмрд░ резрек, реирежрез,, резреи:реи, рдЯреЛрдб рд╕реВрдЪрдирд╛рдПрдБ @ithub.com рдиреЗ рд▓рд┐рдЦрд╛:

рдореИрдВрдиреЗ рдпрд╣ рдЦреЛ рджрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрд╕рдХреНрдпреВрдПрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдЬрд╛рдирддрд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛
рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рдкреБрд╖реНрдЯрд┐ рдХреА рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рд╕рд╛рде рд╣реИ
рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг 3.25.2ред

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

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

@LucianaMarques рдЖрдк рдХреБрдЫ рдЖрд╕рд╛рди рд▓рдЧ рд░рд╣реА рдереА, рдХрд┐ "@skip_if" рдХреЛ рдХрд┐рд╕реА рд╢рд░реНрдд рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП ... sqlite3.sqlite_version_info > (x, y, z)

рд╣рдо рдмрд╛рдж рдореЗрдВ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рджреЗрд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@Carreau рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рдЗрд╕реЗ рдЖрдЬ рдПрдХ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛!

@Carreau рдореИрдВ рдЙрдкрдпреЛрдЧ @skip_if рдХреЛ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ, рдореИрдВ рдЗрд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рд╣реИ рдХрднреА рдирд╣реАрдВ рд╣реИ рдФрд░ рдЙрд╕ рдкрд░ рдХреЛрдИ рдбреЙрдХреНрд╕ рдкрд╛рдпрд╛ (рдпрд╛ рдореИрдВ рдареАрдХ рд╕реЗ рдЙрд╕рдХреА рдЦреЛрдЬ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ ...), рдЖрдк рдХрд┐рд╕реА рднреА рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ / рдбреЙрдХреНрд╕ рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рд╣реИ?

@LucianaMarques рдЬрдм рднреА рдореИрдВ рдПрдХ рдирдП рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХреЛрдбрд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рд╡рд░реНрддрдорд╛рди рдХреЛрдб рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВред рдпрджрд┐ рдЖрдк рдПрдХ рдпреВрдирд┐рдХреНрд╕-рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдкрд░ рд╣реИрдВ, рддреЛ рдЖрдк "Skip_if" рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдбрдмреЗрд╕ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП grep рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░, рд╕рд╛рджреГрд╢реНрдп рджреНрд╡рд╛рд░рд╛, рд╡рд░реНрддрдорд╛рди рд╕рдорд╕реНрдпрд╛ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ IPython рдХреЛрдбрдмреЗрд╕ рдкрд░ рдЕрдВрдбрд░рд╕реНрдХреЛрд░ рдХреЗ рдмрд┐рдирд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡рд╣рд╛рдБ ред

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

$ rg <strong i="11">@skipif</strong> -tpy
IPython/extensions/tests/test_autoreload.py
133:    @skipif(sys.version_info < (3, 6))

IPython/core/tests/test_interactiveshell.py
531:    @skipif(not hasattr(signal, 'SIGALRM'))

IPython/lib/tests/test_latextools.py
47:<strong i="12">@skipif_not_matplotlib</strong>
62:<strong i="13">@skipif_not_matplotlib</strong>

IPython/lib/tests/test_display.py
182:<strong i="14">@skipif_not_numpy</strong>
 ~/dev/ipython[master тЬЧ] $ rg <strong i="15">@skip_if</strong> -tpy
IPython/lib/tests/test_clipboard.py
7:<strong i="16">@skip_if_no_x11</strong>

IPython/utils/tests/test_path.py
102:<strong i="17">@skip_if_not_win32</strong>
117:<strong i="18">@skip_if_not_win32</strong>
157:<strong i="19">@skip_if_not_win32</strong>
377:    <strong i="20">@skip_if_not_win32</strong>
468:    <strong i="21">@skip_if_not_win32</strong>

... рдФрд░ рдореЗрд░реА рдорд╢реАрди рдкрд░ 10x рддреЗрдЬред

рдзрдиреНрдпрд╡рд╛рдж @Carreau рдФрд░ @dsblank , рдЖрдкрдХреЗ рд╕реБрдЭрд╛рд╡ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорджрджрдЧрд╛рд░ рдереЗ, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдореИрдВ рдкрд╣рд▓реЗ рдЗрд╕ рдХрдорд╛рдВрдб рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдерд╛ред

рдореИрдВ рдЬрд▓реНрдж рд╣реА рдПрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕ рдЖрдКрдВрдЧрд╛ред

рдЬреИрд╕рд╛ рдХрд┐ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рдореЗрд░рд╛ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╣реИ ред

Skip_if рдХреЛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рдЬрдбрд╝ рддрдХ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреБрд▓рд╛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИред

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

рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдФрд░ рд╢рд╛рдпрдж рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд┐рд░реНрдзрд╛рд░рдг, рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ ipython рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╕реНрдХреНрд╡реИрд╢ рдХреЗ рд▓рд┐рдП рдПрдХ SQL "GROUP BY" рдХреНрд▓реЙрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╕реНрддрдВрднреЛрдВ рдХрд╛ рдЪрдпрди рдФрд░ рдЖрджреЗрд╢ рднреА рдЬреЛ рди рддреЛ рд╕реНрддрдВрднреЛрдВ рдХреЛ рд╕рдореВрд╣реАрдХреГрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рди рд╣реА рдХреБрд▓ рдХрд╛рд░реНрдп (рд╕рддреНрд░ рдФрд░ рд▓рд╛рдЗрди)ред рди рддреЛ SQL рдФрд░ рди рд╣реА sqlite рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдгрд╛рдореА рд╕рдореВрд╣ рдХреА рдкрдВрдХреНрддрд┐ рдЙрди рддрдерд╛рдХрдерд┐рдд "рдирдВрдЧреЗ" рдХреЙрд▓рдореЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рди рдЦреАрдВрдЪреЗрдЧреА, рдФрд░ рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░ sqlite рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдЙрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛ред

рдореИрдВрдиреЗ sqlite3 3.26.0 рдХреЗ рдЦрд┐рд▓рд╛рдл рдХреЛрдИ рд╕рдлрд▓рддрд╛ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде, рдЙрддреНрдкрдиреНрди SQL рдкрд░ рдХреБрдЫ рдмрджрд▓рд╛рд╡реЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрд╡рд╢реНрдпрдХ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдФрд░ рдЦреЛрдЬ рдкреНрд░рджрд░реНрд╢рди рдкрд░ рдЙрдирдХреЗ рдкреНрд░рднрд╛рд╡ рдХрд╛ рд╕рд╡рд╛рд▓ рд╣реИред

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

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

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

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

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

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

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