Π― ΠΏΡΡΠ°ΡΡΡ ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ ipython 7.0.1 Π΄Π»Ρ openSUSE ΠΈ ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π² ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ ΡΠ΅ΡΡΠ°Ρ :
======================================================================
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).
Π’Π°ΠΊ ΠΏΠΎΡΠ΅ΠΌΡ 4 Π²ΠΌΠ΅ΡΡΠΎ 1 ...? ΠΠΎΠΆΠ΅Ρ ΡΠ»ΡΡΠΈΡΡΡΡ ΡΠ°ΠΊ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌ unique
ΠΌΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌ uniq ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ 3-ΠΌΡ ΡΡΠΎΠ»Π±ΡΡ, ΠΈ sqlite ΡΠ°Π΄ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΅Π³ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Ρ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²ΡΠΎΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ z=5
?
Π― ΠΏΡΠΎΠΏΡΡΡΠΈΠ» ΡΡΠΎ. ΠΠΎ Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π·Π½Π°Ρ ΠΎ SQL, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ Π·Π½Π°Ρ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ. Π― ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΠ», ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π²ΡΠ΅ Π΅ΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ sqlite 3.25.2.
Π― ΡΠΎΠΆΠ΅ Π½Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ ΠΏΠΎ SQL, ΡΡΠ΄Ρ ΠΏΠΎ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΡΠΎΠ²Π°Π» ΡΠ΅ΡΡΠ° Π½Π΅
ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ. ΠΠΎΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ Π²Π°ΠΌ ΠΌΠ°ΡΠΊΠ΅Ρ Β«ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ±ΠΎΡΒ» ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ Π΄Π»Ρ openSUSE ΠΈΠ»ΠΈ
Π²Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΠ΅ Π½Π°ΠΉΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΏΡΠΈΡΠΈΠ½Ρ?
Π Π²Ρ, 14 ΠΎΠΊΡΡΠ±ΡΡ 2018 Π³., 12:28 Π’ΠΎΠ΄Π΄ [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, Π²Ρ ΠΈΡΠΊΠ°Π»ΠΈ ΡΡΠΎ-ΡΠΎ Π»Π΅Π³ΠΊΠΎΠ΅, ΡΡΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ»ΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ "@skip_if" Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ Π²ΡΠΎΠ΄Π΅ ... sqlite3.sqlite_version_info > (x, y, z)
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠ»ΠΎΠΆΠΈΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ Π½Π° ΠΏΠΎΡΠΎΠΌ.
@Carreau, ΡΠΏΠ°ΡΠΈΠ±ΠΎ, Ρ ΠΏΠΎΠΏΡΠΎΠ±ΡΡ ΡΠ΅Π³ΠΎΠ΄Π½Ρ!
@Carreau Π£ ΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ @skip_if , Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Π΅Π³ΠΎ ΠΈ Π½Π΅ Π½Π°ΡΠ΅Π» ΠΏΠΎ Π½Π΅ΠΌΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² (ΠΈΠ»ΠΈ Ρ Π½Π΅ ΠΈΡΡ Π΅Π³ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ...), Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΡΡΠ΅Π±Π½ΠΈΠΊΠ°ΠΌ / Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌ?
@LucianaMarques ΠΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°ΡΠΈΠ½Π°Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ Π² Π½ΠΎΠ²ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ, Ρ ΠΏΡΡΠ°ΡΡΡ Π½Π°ΠΉΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅. ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Unix, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ grep
Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π² ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Β«skip_ifΒ» ΠΈ, ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅.
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π±Π΅Π· ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ Π² ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ IPython.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΌ .
@dsblank Π²Ρ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ RipGrep ? ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΎ: ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΡ .git, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ ΠΏΠΎΠΈΡΠΊ, Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠΌ ΠΈ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΠΈΠΏΠ°ΠΌ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΈΡΠΊΠ° skipif ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ°ΠΉΠ»Π°Ρ python:
$ 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 , Π²Π°ΡΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π±ΡΠ»ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ, Ρ Π½Π΅ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΠ°Π½ΡΡΠ΅ Π±ΡΠ» Π·Π½Π°ΠΊΠΎΠΌ Ρ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.
Π― ΡΠΊΠΎΡΠΎ Π²Π΅ΡΠ½ΡΡΡ Ρ Π·Π°ΠΏΡΠΎΡΠΎΠΌ Π½Π° ΠΏΠ΅ΡΠ΅Π½ΠΎΡ.
ΠΠ°ΠΊ ΠΈ Π±ΡΠ»ΠΎ ΠΎΠ±Π΅ΡΠ°Π½ΠΎ, ΠΌΠΎΠΉ Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΏΠ΅ΡΠ΅Π½ΠΎΡ .
Skip_if Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½, Ρ ΠΎΡΡΠ°Π²Π»Ρ ΡΡΠΎ ΠΎΡΠΊΡΡΡΡΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΊΠΎΡΠ½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ !
ΠΠ»Ρ ΡΠΏΡΠ°Π²ΠΊΠΈ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ Π΄Π»Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΡΡΠΎ, ΠΏΠΎΡ ΠΎΠΆΠ΅, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ipython ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ SQL Β«GROUP BYΒ» Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΈ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π΅Ρ ΡΡΠΎΠ»Π±ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ Π½ΠΈ Π³ΡΡΠΏΠΏΠΈΡΡΡΡΠΈΠΌΠΈ ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ, Π½ΠΈ Π°Π³ΡΠ΅Π³Π°ΡΠ½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ (ΡΠ΅Π°Π½Ρ ΠΈ ΡΡΡΠΎΠΊΠ°). ΠΠΈ SQL, Π½ΠΈ sqlite Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΈΠ· ΠΊΠ°ΠΊΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅ΠΉ Π³ΡΡΠΏΠΏΡ Π±ΡΠ΄ΡΡ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΡΠΈΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ Β«Π³ΠΎΠ»ΡΡ Β» ΡΡΠΎΠ»Π±ΡΠΎΠ², ΠΈ, ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ sqlite ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ Π² ΡΡΠΎΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ.
Π― ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ SQL, Π½ΠΎ Π±Π΅Π·ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΡΠΈΠ² sqlite3 3.26.0. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π΅ΡΡΡ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, Π½ΠΎ Π²ΠΎΠΏΡΠΎΡ Π² ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΈΡ Π²Π»ΠΈΡΠ½ΠΈΠΈ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΠΎΠΈΡΠΊΠ°.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π±Π΅Π· ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ Π² ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ IPython.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΌ .
@dsblank Π²Ρ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ RipGrep ? ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΎ: ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΡ .git, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ ΠΏΠΎΠΈΡΠΊ, Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠΌ ΠΈ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΠΈΠΏΠ°ΠΌ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΈΡΠΊΠ° skipif ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ°ΠΉΠ»Π°Ρ python:
... ΠΈ Π² 10 ΡΠ°Π· Π±ΡΡΡΡΠ΅Π΅ Π½Π° ΠΌΠΎΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π΅.