openSUSE μ© 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) μν₯μλ°λ κ²μΌλ‘ 보μ΄λ sqlite λ²μ λ²μμ λν΄ ν
μ€νΈλ₯Ό 건λ λ°κΈ° (λλ μλ €μ§ μ€ν¨)λ‘ νμν©λλ€.
2) μ΄κ²μ΄ κ³ μΉ κ°μΉκ°μλ νλμ λ³νμΈμ§ μλλ©΄ ν
μ€νΈκ° κ·Έμ λ°λΌ μ
λ°μ΄νΈλμ΄μΌνλμ§ μ€μ λ‘ νμ
ν©λλ€.
μ΄λ€ λ²μ μ Pythonμ μ€ννκ³ μμ΅λκΉ? sqlite λ²μ λ μ΄ν΄λ³΄μμμ€.
λ€μμ python λ° sqlite λ²μ μ λλ€.
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
μμ²ν λ μ°λ¦¬λ 3 λ²μ§Έ μ΄μ uniq wrt λ§ μμ²νκ³ sqliteλ μ λ ¬νκΈ° μ μ λ΄λΆ λμμ λ³κ²½νκ³ uniquifyνμ¬ z=5
?
λλ κ·Έκ²μ λμ³€λ€. νμ§λ§ μ λ SQLμ λν΄ μ무κ²λ λͺ¨λ₯΄κΈ° λλ¬Έμ μ κ·Έλ° μΌμ΄ μΌμ΄λ μ§ λͺ¨λ₯΄κ² μ΅λλ€. μ΅μ λ²μ μΈ sqlite 3.25.2μμ μ¬μ ν λ¬Έμ κ° λ°μ ν¨μ νμΈνμ΅λλ€.
λλ SQL μ λ¬Έκ°κ° μλλλ€. ν
μ€νΈ μ€ν¨κ° μλλΌκ³ λ§ν μ μμ΅λλ€.
μλ
ν. "μλ €μ§ μ€ν¨"λ§μ»€κ° openSUSE μ©μΌλ‘ ν¨ν€μ§νλ λ° λμμ΄λ©λκΉ?
κ·Όλ³Έ μμΈμ μ°Ύλ κ²μ μ νΈνμλκΉ?
μΌμμΌ, 2018 λ 10 μ 14 μΌ, 12:28 Todd [email protected] μμ± :
λλ κ·Έκ²μ λμ³€λ€. νμ§λ§ μ λ SQLμ λν΄ μ무κ²λ λͺ°λΌμ λͺ¨λ₯΄κ² μ΅λλ€.
μ μΌμ΄λ μ μλμ§. λ¬Έμ κ° μ¬μ ν λ°μνλμ§ νμΈνμ΅λλ€.
sqlite 3.25.2, μ΅μ λ²μ .β
λκΈμ λ¬μ κΈ° λλ¬Έμ μμ ν κ²μ λλ€.
μ΄ μ΄λ©μΌμ μ§μ λ΅μ₯νκ³ GitHubμμ νμΈνμΈμ.
https://github.com/ipython/ipython/issues/11372#issuecomment-429654816 ,
λλ μ€λ λ μμκ±°
https://github.com/notifications/unsubscribe-auth/AAUez9oGI6J02rTiDIfuzUCrpY71axO9ks5uk5B1gaJpZM4XMOVJ
.
λ²κ·Έκ° μΌλ§λ μ¬κ°ν μ§ λͺ¨λ₯΄κ² μΌλ―λ‘ κ·νμ νλ¨μ λ―Έλ£¨κ² μ΅λλ€. λ¬Όλ‘ μ€μ μμ μ΄ λ°λμ§νμ§λ§ λ¬Έμ κ° μΆ©λΆν μ¬μνλ€κ³ μκ°λλ©΄ λΉλΆκ° μλ €μ§ μ€ν¨λ‘ κ° μ μμ΅λλ€.
@LucianaMarques λΉμ μ μ¬μ΄ κ²μ μ°Ύκ³ μμλλ°, κ·Έκ²μ λ무 μ΄λ ΅μ§ μμ κ²μ
λλ€. sqlite3.sqlite_version_info > (x, y, z)
μ κ°μ 쑰건μΌλ‘ "@skip_if"λ₯Ό μΆκ°νκΈ°
λμ€μ μμ μ μ°κΈ° ν μ μμ΅λλ€.
@Carreau κ°μ¬ν©λλ€, μ€λ μλν΄ λ³Όκ²μ!
λΉμ μ΄ μ΄λ€ μμ΅μ / μλ νλ‘μΈμ κΆμ₯ μ¬νμ΄ μμ΅λκΉ, @Carreau λ΄κ° μ¬μ© @skip_ifμ λ¬Έμ κ°μμ΄, λλ κ·Έκ²μ μ¬μ©ν μ μ΄κ³Όμλ λ¬Έμλ₯Ό μ°Ύμ μ μμ΅λλ€ (λλ λλ ... μ λλ‘ κ²μ μλμμ)?
@LucianaMarques μλ‘μ΄ μμμμ μ½λ©μ μμν λλ§λ€ νμ¬ μ½λμμ μμ λ₯Ό μ°ΎμΌλ €κ³ λ
Έλ ₯ν©λλ€. Unix κΈ°λ° μμ€ν
μ μ¬μ©νλ κ²½μ° grep
λ₯Ό μ¬μ©νμ¬ μ½λλ² μ΄μ€μμ "skip_if"μ μλ₯Ό κ²μνκ³ μ μΆνμ¬ νμ¬ λ¬Έμ μ μ μ© ν μ μμ΅λλ€.
λλ IPython μ½λλ² μ΄μ€μ λ°μ€μ΄ μλ€κ³ μκ°ν©λλ€.
μλ₯Ό λ€λ©΄ κ±°κΈ° .
@dsblank RipGrep μ μ¬μ©ν΄ λ³΄μ ¨μ΅λκΉ ? μ λ§ μ’μ΅λλ€ : κΈ°λ³Έμ μΌλ‘ .git 건λ λ°κΈ°, κΈ°λ³Έμ μΌλ‘ μ¬κ· κ²μ, μμ κ°μ‘° νμ, νμΌ μ νλ³ νν°λ§. python νμΌμμλ§ skipifλ₯Ό κ²μνλ μμ :
$ 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>
... λ΄ μ»΄ν¨ν°μμ 10 λ°° λ λΉ λ¦ λλ€.
@Carreau λ° @dsblank κ°μ¬ν©λλ€. κ·νμ μ μμ μ λ§ λμμ΄λμμ΅λλ€. μ΄μ μμ΄ λͺ λ Ήμ μ΅μνμ§ μμ κ² κ°μ΅λλ€.
곧 ν 리νμ€νΈλ‘ λμ μ¬κ²μ.
μ½μλλ‘ λ΄ pull request .
Skip_ifκ° μΆκ°λμμΌλ―λ‘ λ¬Έμ μ μμΈμΌλ‘ μ΄λνκΈ° μν΄μ΄ νλͺ©μ μ΄μ΄ λκ² μ΅λλ€.
κ°μ¬ !
ν₯ν μ°Έμ‘° λ° μΈμ κ° μ€μ μμ μ μν΄ ipythonμ΄ SQL "GROUP BY"μ μ μ¬μ©νμ¬ μ€λ³΅μ μ€μΏΌμνλ λμμ κ·Έλ£Ήν μ΄λ μλκ³ μ§κ³ ν¨μ (μΈμ λ° μ€)λ μλ μ΄μ κΈ°μ€μΌλ‘ μ ννκ³ μ λ ¬νκΈ° λλ¬Έμ μ΄λ° μΌμ΄ λ°μνλ κ²μΌλ‘ 보μ λλ€. SQLκ³Ό sqlite λͺ¨λ μμ "bare"μ΄μ λν κ°μ΄ κ·Έλ € μ§ κ° κ²°κ³Ό κ·Έλ£Ήμ νμ μ§μ νμ§ μμΌλ©° κ·Έ μ μμ sqliteμ μ€μ λμμ΄ λ³κ²½λμμ΅λλ€.
sqlite3 3.26.0μ λν΄ μ±κ³΅νμ§ λͺ»ν μ± μμ± λ SQLμ λͺ κ°μ§ λ³νμ μλνμ΅λλ€. νμ€ν ν μμλ λ°©λ²μ΄ μμ§λ§ νμν λ³κ²½μ κ·λͺ¨μ κ²μ μ±λ₯μ λ―ΈμΉλ μν₯μ λν μ§λ¬Έμ΄ μμ΅λλ€.
κ°μ₯ μ μ©ν λκΈ
λλ IPython μ½λλ² μ΄μ€μ λ°μ€μ΄ μλ€κ³ μκ°ν©λλ€.
μλ₯Ό λ€λ©΄ κ±°κΈ° .
@dsblank RipGrep μ μ¬μ©ν΄ λ³΄μ ¨μ΅λκΉ ? μ λ§ μ’μ΅λλ€ : κΈ°λ³Έμ μΌλ‘ .git 건λ λ°κΈ°, κΈ°λ³Έμ μΌλ‘ μ¬κ· κ²μ, μμ κ°μ‘° νμ, νμΌ μ νλ³ νν°λ§. python νμΌμμλ§ skipifλ₯Ό κ²μνλ μμ :
... λ΄ μ»΄ν¨ν°μμ 10 λ°° λ λΉ λ¦ λλ€.