Ipython: ipythonμ—μ„œ μ—¬λŸ¬ 쀄 μ½”λ“œ 블둝을 λ§Œλ“€ 수 μ—†μŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2018λ…„ 09μ›” 27일  Β·  26μ½”λ©˜νŠΈ  Β·  좜처: ipython/ipython

였늘 μˆ˜μ—…μ„ κ°€λ₯΄μΉ˜λŠ” λ™μ•ˆ pip install ipython 을 (λ₯Ό) μˆ˜ν–‰ν•˜κ³  if 문을 μž…λ ₯ ν•œ λ‹€μŒ 첫 번째 쀄 λ‹€μŒμ— Enter ν‚€λ₯Ό λˆ„λ₯΄κ³  μ½”λ“œκ°€ μ‹€ν–‰λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

이것은 λ²„κ·Έμ²˜λŸΌ λ³΄μž…λ‹ˆλ‹€.

λ‚˜λŠ” pip install ipython==6.5.0 ν–ˆκ³  μ½”λ“œ λΈ”λ‘μ—μ„œ Enter ν‚€λ₯Ό λˆ„λ₯΄λ©΄ μž…λ ₯ ν•  λ‹€μŒ λ“€μ—¬ μ“°κΈ° 된 쀄이 μ œλŒ€λ‘œ ν‘œμ‹œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” tmux λ‚΄μ—μ„œ ipython을 μ‹€ν–‰ν•˜λŠ” Ubuntu 18.04λ₯Ό μ‚¬μš©ν•˜κ³  μžˆμ§€λ§Œ tmuxκ°€ μ—¬κΈ°μ„œ λ¬Έμ œμΈμ§€ μ˜μ‹¬ν•©λ‹ˆλ‹€.

Hacktoberfest help wanted

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

사싀, λ‚΄ μˆ˜μ •μœΌλ‘œ νšŒκ·€κ°€ μƒκ²ΌμŠ΅λ‹ˆλ‹€. μ§€κΈˆ 고쳐.

PR # 11354κ°€ μ§€κΈˆ μ—…λ°μ΄νŠΈλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

λͺ¨λ“  26 λŒ“κΈ€

ctrl-o λ₯Ό μ‚¬μš©ν•˜μ—¬ μƒˆ 쀄을 κ°•μ œ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” 그것을 κ²°μ½” μ§μž‘ν•˜μ§€ λͺ»ν–ˆμ„ κ²ƒμž…λ‹ˆλ‹€. λ‚˜λŠ” 이것을 더 λͺ…ν™•ν•˜κ²Œ λ§Œλ“œλŠ” 방법을 잘 λͺ¨λ₯΄κ² μ§€λ§Œ μ•½κ°„μ˜ μ„€λͺ… / 손 μž‘μ„ ν•„μš”κ°€ μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. λ‚˜λŠ” λ‚΄κ°€ 생각할 μˆ˜μžˆλŠ” λͺ¨λ“  지름길을 μ‹œλ„ν–ˆκ³  κ²°κ΅­ λ‚΄ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ λ‹€μš΄ κ·Έλ ˆμ΄λ“œλ₯Ό κ°•μš”ν–ˆλ‹€.

μ €λŠ” IPython을 μ‚¬μš©ν•˜μ—¬ 라이브 청쀑을 κ°€λ₯΄μΉ˜λŠ” λ™μ•ˆ REPLμ—μ„œ μ—¬λŸ¬ 쀄 블둝을 μ‰½κ²Œ μž…λ ₯ν•˜κ³  νŽΈμ§‘ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ‚΄ μƒν™©μ—μžˆλŠ” λ‹€λ₯Έ μ‚¬λžŒλ“€λ„ λΉ„μŠ·ν•œ λ¬Έμ œκ°€μžˆμ„ 수 μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

Ctrl-Oλ₯Ό μ‚¬μš©ν•˜μ—¬ μ—¬λŸ¬ 쀄 μ½”λ“œ 블둝을 λ§Œλ“€ 수 μžˆλ‹€λŠ” κ²½κ³ κ°€ μ–΄λ”˜κ°€μ—μžˆμ„ 수 μžˆμŠ΅λ‹ˆκΉŒ? μ μ ˆν•œ μž₯μ†Œκ°€ μžˆλŠ”μ§€ 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€.

졜근 λ¦¬νŒ©ν„°λ§μ˜ λ²„κ·Έμž…λ‹ˆλ‹€. 7.xλ₯Ό μ‚¬μš©ν•˜λ €λ©΄ κ·Έλ™μ•ˆ Ctrl-Oλ₯Ό μ‚¬μš©ν•  수 μžˆλ‹€κ³  λ§ν•˜λ €κ³ ν–ˆμŠ΅λ‹ˆλ‹€.

μ•„ μ’‹μ•„μš”! λ‚˜λŠ” 그것이 단지 버그 μ˜€λ‹€λŠ” 것이 닀행이닀. κ°μ‚¬ν•©λ‹ˆλ‹€ @ Carreau! πŸ˜„

μˆ˜μ • 사항에 λŒ€ν•œ ν…ŒμŠ€νŠΈλ₯Ό μ œκ³΅ν•˜κΈ° μœ„ν•΄ μ˜ˆμƒλ˜λŠ” 사항에 λŒ€ν•œ λͺ‡ 가지 예 (μž‘λ™ 쀑이고 μž‘λ™ν•˜μ§€ μ•ŠμŒ)λ₯Ό 제곡 ν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ?

λ‚˜λŠ” λͺ‡ 가지λ₯Ό 가지고 μžˆμ§€λ§Œ λͺ‡ 가지λ₯Ό μˆ˜μ§‘ν•˜κ³  λ‹Ήμ‹ μ—κ²Œ 영ν–₯을 미치고 싢지 μ•ŠμŠ΅λ‹ˆλ‹€.

with open('hello.txt', mode='wt') as my_file:
    my_file.write('hi')
    my_file.write('hi again')

두 번째 예λ₯Ό κΈ°μ–΅ν•  수 μ—†μ§€λ§Œ μ—¬λŸ¬ 루프가 μžˆμŠ΅λ‹ˆλ‹€.

numbers = [2, 1, 3, 4, 7, 8, 11]

for n in numbers:
    if n > 0:
        print(n*2)
    else:
        print(n/2)

@Carreau λŠ”

μ•ˆλ…• @ Deborah-Digges, λ‚˜λŠ” 빨리 λ³΄μ•˜μ§€λ§Œ μ§€κΈˆκΉŒμ§€λŠ” λ„ˆλ¬΄ λ§Žμ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

이전 input_splitter와 μƒˆλ‘œμš΄ input_transformer의 차이점을 ν™•μΈν•˜κΈ° μœ„ν•΄μ΄ μž‘μ€ ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ₯Ό μž‘μ„±ν–ˆμŠ΅λ‹ˆλ‹€.

from IPython.core import inputtransformer2 as ipt2 # new way
from IPython.core import inputsplitter #oldl way

occ =  inputsplitter.InputSplitter().check_complete
cc = ipt2.TransformerManager().check_complete

comp = lambda x : (cc(x), occ(x), x)
print(comp('if'))
print(comp('if\n\n'))
print(comp("""
def foo():
    print('Hello')"""
))
print(comp('if True:'))

κ²°κ³Ό

(('invalid', None), ('invalid', None), 'if')
(('complete', None), ('invalid', None), 'if\n\n')
(('complete', None), ('incomplete', 4), "\ndef foo():\n    print('Hello')")
(('incomplete', 4), ('incomplete', 4), 'if True:')

μ„Έ 번째 ν•­λͺ©μ΄ μš°λ¦¬μ—κ²Œ κ΄€μ‹¬μ΄μžˆλŠ” ν•­λͺ©μž„을 μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. 두 λ²ˆμ§ΈλŠ” IPython의 "κΈ°λŠ₯"쀑 ν•˜λ‚˜κ°€ 2 개 μ΄μƒμ˜ 쀄 λ°”κΏˆμ΄μžˆλŠ” 경우 κ°•μ œ μ‹€ν–‰ν•˜λŠ” κ²ƒμ΄λ―€λ‘œ ν˜ΈκΈ°μ‹¬μ—μ„œ λ²—μ–΄λ‚¬μŠ΅λ‹ˆλ‹€.

κ΄€λ ¨ μ½”λ“œμ˜ μΌλΆ€λŠ” shortcut.py:L109-L127에 μžˆμŠ΅λ‹ˆλ‹€.

μ½”λ“œ 검사가 "μ™„μ „ν•œμ§€"μ—¬λΆ€λ₯Ό μ •μ˜ν•˜λŠ” μ—­ν• κ³Ό "μ‹€ν–‰ν•˜κ±°λ‚˜ μƒˆ 쀄을 μΆ”κ°€"ν•΄μ•Όν•˜λŠ”μ§€ μ—¬λΆ€ 사이에 μΌμ’…μ˜ μΆ©λŒμ΄μžˆλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” μž…λ ₯이 μ—¬λŸ¬ 쀄인지 여뢀와 λ§ˆμ§€λ§‰ λ¬Έμžκ°€ 이미 μƒˆ 쀄인지 μ—¬λΆ€λ₯Ό ν™•μΈν•˜λŠ” νœ΄λ¦¬μŠ€ν‹±μœΌλ‘œ μΆ©λΆ„ν•΄μ•Όν•œλ‹€κ³  _guessing_μž…λ‹ˆλ‹€.

λ‚˜λ¨Έμ§€ 질문 쀑 ν•˜λ‚˜λŠ” μˆ˜μ • 사항을 어디에 μ μš©ν•΄μ•Ό ν•˜λŠ”κ°€μž…λ‹ˆλ‹€.

  • shortcut.py ? κ·Έλ ‡λ‹€λ©΄ 터미널 IPython 만 μˆ˜μ •ν•©λ‹ˆλ‹€.
  • input_transformer2μ—μ„œ? 이것이 μ˜¬λ°”λ₯Έ μ†”λ£¨μ…˜μ΄λΌκ³  μƒκ°ν•˜μ§€λ§Œ QtConsole에도 영ν–₯을 λ―ΈμΉ  κ°€λŠ₯성이 μžˆμŠ΅λ‹ˆλ‹€.

적어도 μ‹œμž‘ν•˜κΈ°μ— μΆ©λΆ„ν•œ 지 μ•Œλ €μ£Όμ„Έμš”.

감사 !

μ•ˆλ…• @Carreau ! μžμ„Έν•œ μ„€λͺ…κ³Ό ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ— κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€.

λ‚˜λŠ” 그것을 ipython의 dev λ²„μ „μœΌλ‘œ λ‘œμ»¬μ—μ„œ μž¬ν˜„ ν•  수 μžˆμ—ˆκ³  이제 shortcut.py 및 inputtransformer μ½”λ“œλ₯Ό μ‘°μ‚¬ν•˜κΈ° μ‹œμž‘ν•  κ²ƒμž…λ‹ˆλ‹€.

μˆ˜μ • 사항에 λŒ€ν•œ ν…ŒμŠ€νŠΈλ₯Ό μ œκ³΅ν•˜κΈ° μœ„ν•΄ μ˜ˆμƒλ˜λŠ” 사항에 λŒ€ν•œ λͺ‡ 가지 예 (μž‘λ™ 쀑이고 μž‘λ™ν•˜μ§€ μ•ŠμŒ)λ₯Ό 제곡 ν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ?

λͺ‡ 가지 μ˜ˆκ°€ ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ²„κ·ΈλŠ” 맀우 μž¬ν˜„ κ°€λŠ₯ν•œ λ°©μ‹μœΌλ‘œ λ°œμƒν•©λ‹ˆλ‹€.
μ—¬λŸ¬ 쀄은 쀄이 콜둠으둜 λλ‚˜λŠ” 경우 μ—λ§Œ μž‘λ™

iPython

λŒ€λ¬Έμžλ‘œ λΆ€νƒλ“œλ¦½λ‹ˆλ‹€. μš°λ¦¬λŠ” 사과와 κ΄€λ ¨λœ 문제λ₯Ό μ›ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

λͺ‡ 가지 μ˜ˆκ°€ ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

κΈ€μŽ„, λ‚˜λŠ” _need_λŠ” μ•„λ‹ˆμ§€λ§Œ μ—¬λŸ¬ 가지 예λ₯Ό μ›ν•©λ‹ˆλ‹€. λ‚˜λŠ” μž¬ν˜„ν•˜κ³  그것을 κ³ μΉ˜λŠ” 방법에 λŒ€ν•œ 아이디어λ₯Ό κ°€μ§ˆ 수 μžˆμ§€λ§Œ, μ—¬λŸ¬ μΌ€μ΄μŠ€κ°€ 있으면 λ‚΄κ°€ 엣지 μΌ€μ΄μŠ€λ₯Ό μΉ˜μ§€ μ•Šλ„λ‘ λ„μ™€μ€λ‹ˆλ‹€. λ‚˜λŠ” IPython을 μ‚¬μš©ν•˜λŠ” 방법에 λŒ€ν•œ 편ν–₯된 견해λ₯Ό 가지고 μžˆμœΌλ―€λ‘œ λ‹€λ₯Έ μ˜ˆμ œκ°€ λ„μ›€μ΄λ©λ‹ˆλ‹€.

iPython
λŒ€λ¬Έμžλ‘œ λΆ€νƒλ“œλ¦½λ‹ˆλ‹€. μš°λ¦¬λŠ” 사과와 κ΄€λ ¨λœ 문제λ₯Ό μ›ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

적어도 λ‚˜λŠ” μ™œ λ‚΄κ°€ 이름에 어퍼가 μžˆλŠ”μ§€ μ•Œμ•„ λƒˆκ³ , κ°μ‚¬ν•˜κ³  λ―Έμ•ˆν•©λ‹ˆλ‹€ :)

μ‚¬κ³Όλ‘œμ΄ (μ£Όμš”) 문제λ₯Ό ν•΄κ²°ν•˜λŠ” ν’€ μš”μ²­ # 11354κ°€ μžˆμŠ΅λ‹ˆλ‹€. IMHO 이것은 IPython의 λΈ”λ‘œν‚Ή λ²„κ·Έμž…λ‹ˆλ‹€. 곧 릴리슀 ν•  것을 κ³ λ €ν•΄μ•Όν•©λ‹ˆλ‹€ (μ‚¬μš©μžκ°€ githubμ—μ„œ 이에 λŒ€ν•΄ 생성 ν•œ 문제 수 μ°Έμ‘°).

적어도 λ‚˜λŠ” μ™œ λ‚΄κ°€ 이름에 어퍼가 μžˆλŠ”μ§€ μ•Œμ•„ λƒˆκ³ , κ°μ‚¬ν•˜κ³  λ―Έμ•ˆν•©λ‹ˆλ‹€ :)

IPython 0.1이 첫 번째 iProduct 이전에 μΆœμ‹œ λ˜μ—ˆκΈ° λ•Œλ¬Έμ— (μœ μΌν•œ) μ΄μœ λŠ” μ•„λ‹ˆμ§€λ§Œ 일반적으둜 μ‚¬λžŒλ“€μ€ κΈ°μ–΅ν•©λ‹ˆλ‹€

μ‚¬κ³Όλ‘œμ΄ (μ£Όμš”) 문제λ₯Ό ν•΄κ²°ν•˜λŠ” ν’€ μš”μ²­ # 11354κ°€ μžˆμŠ΅λ‹ˆλ‹€.

κ°μ‚¬ν•©λ‹ˆλ‹€. μ‹œκ°„μ΄λ˜λ©΄ λ³Όκ²Œμš”

곧 μΆœμ‹œν•˜λŠ” 것을 κ³ λ €ν•΄μ•Όν•©λ‹ˆλ‹€.

예, μžμ› λ΄‰μ‚¬μžκ°€ μ‹œκ°„μ΄ 있으면 κ·Έλ ‡κ²Œ ν•  κ²ƒμž…λ‹ˆλ‹€. jupyter_console의 μΆœμ‹œμ™€ 같은 λ‹€λ₯Έ μ€‘μš”ν•œ λ¬Έμ œκ°€ 있으며 μ—¬κΈ°μ—μžˆλŠ” λˆ„κ΅¬λ„ $ DAYJOBμ—μ„œ λͺ‡ μ‹œκ°„μ΄ 걸릴 수 μžˆλ‹€κ³  μƒκ°ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ 이번 주말을 κΈ°λ‹€λ €μ•Ό ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

사싀, λ‚΄ μˆ˜μ •μœΌλ‘œ νšŒκ·€κ°€ μƒκ²ΌμŠ΅λ‹ˆλ‹€. μ§€κΈˆ 고쳐.

사싀, λ‚΄ μˆ˜μ •μœΌλ‘œ νšŒκ·€κ°€ μƒκ²ΌμŠ΅λ‹ˆλ‹€. μ§€κΈˆ 고쳐.

PR # 11354κ°€ μ§€κΈˆ μ—…λ°μ΄νŠΈλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

μˆ˜μ • ν•΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. μ–Έμ œ μΆœμ‹œ 될지 μ•„μ‹œλ‚˜μš”? λ‚˜λŠ” CTRL-O에 vim ν‚€ 바인딩을 μ‚¬μš©ν•˜κ³  μžˆλŠ”λ° λ‚˜λ₯Ό μœ„ν•΄ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ (ESC + oλŠ” ...)

μˆ˜μ • ν•΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. μ–Έμ œ μΆœμ‹œ 될지 μ•„μ‹œλ‚˜μš”?

그것은 ν”„λ‘œμ νŠΈμ˜ μžμ› λ΄‰μ‚¬μž 쀑 ν•œ λͺ…이 될 κ²ƒμž…λ‹ˆλ‹€. 7.1에 λŒ€ν•œ λͺ‡ 가지 남은 문제λ₯Ό λΆ„λ₯˜ν•˜κ³  릴리슀λ₯Ό μˆ˜ν–‰ν•˜λŠ” 데 λͺ‡ μ‹œκ°„μ˜ 무료 μ‹œκ°„μ΄ μ£Όμ–΄μ§‘λ‹ˆλ‹€. 이번 주말에 λͺ‡ μ‹œκ°„μ„ 보내고 μ‹Άμ§€λ§Œ κ·Έκ²ƒλ§ŒμœΌλ‘œλŠ” μΆ©λΆ„ν•˜μ§€ μ•Šμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

κΈ°μ‘΄ PR / 문제λ₯Ό λΆ„λ₯˜ / κ²€ν†  / νƒœκ·Έν•˜λŠ” 데 도움이 될 κ²ƒμž…λ‹ˆλ‹€.

async with λΈ”λ‘μœΌλ‘œ μ—¬μ „νžˆ μž¬ν˜„ κ°€λŠ₯ν•˜λ©° ν˜„μž¬ λ§ˆμŠ€ν„° λΈŒλžœμΉ˜μ™€ PyPI의 v7.1.1을 λͺ¨λ‘ μ‹œλ„ν–ˆμŠ΅λ‹ˆλ‹€.

In [16]: async with aiofiles.open('/tmp/foobar', 'r') as f:
    ...:     content = await f.read()

In [17]: content
Out[17]: 'hello'

흠, autoawaitμ™€μ˜ μ΄μƒν•œ μƒν˜Έ μž‘μš© 일 수 μžˆμŠ΅λ‹ˆλ‹€.

μ•„,이 λ¬Έμ œμ™€ 관련이 없을 것 κ°™λ„€μš”. μ–΄μ¨Œλ“  μ‹€νŒ¨ν•œ μ΄μœ λŠ”

async with aiohttp.ClientSession() as session:
    pass|   # < cursor is there

각 쀄 λμ—μ„œ check_complete μ‹€ν–‰ν•˜κ³ , μ°¨λ‘€λ‘œ compile_command λ₯Ό μ‹€ν–‰ν•˜κ³ , ν›„μžλŠ” 'async with'κ°€ 비동기 ν•¨μˆ˜ μ™ΈλΆ€μ—μ„œ μ‚¬μš©λ˜κΈ° λ•Œλ¬Έμ— SyntaxError μ‹œν‚΅λ‹ˆλ‹€. .
λ‚΄ ν¬ν¬μ—μ„œ 방금 SyntaxError μŒμ†Œκ±°ν–ˆμ§€λ§Œ ν™•μ‹€νžˆ κ³ μΉ˜λŠ” κ°€μž₯ 밝은 방법은 μ•„λ‹™λ‹ˆλ‹€.

κ°€λŠ₯ν•œ μ†”λ£¨μ…˜ / 아이디어 :

  • autoawait κ°€ 켜져 μžˆλŠ”μ§€ ν™•μΈν•΄μ•Όν•©λ‹ˆλ‹€. κ·Έλ ‡λ‹€λ©΄ νŠΉμ • SyntaxError μΌ€μ΄μŠ€λ₯Ό λ¬΄μ‹œν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 그것이 쒋은 해결책이라고 μƒκ°ν•˜μ§€ μ•Šμ§€λ§Œ μ–΄μ©Œλ©΄ λ‚˜λŠ” 일을 μ§€λ‚˜μΉ˜κ²Œ λ³΅μž‘ν•˜κ²Œ λ§Œλ“€κ³ μžˆμ„ μˆ˜λ„μžˆλ‹€.

  • autoawaitκ°€ μžˆλ‹€λ©΄, 곡급 compile_command() 에 μ‹Έμ„œ μ½”λ“œ _asyncify() . λ‚˜λŠ” 이런 μ‹μœΌλ‘œ SyntaxError μΈμƒν•˜μ§€ μ•Šμ„ 것이라고 μƒκ°ν•˜μ§€λ§Œ _asyncify() μžμ²΄κ°€ μ•½κ°„μ˜ λ“€μ—¬ μ“°κΈ°λ₯Ό μΆ”κ°€ν•˜κ³  μ‰½κ²Œ μ§€μ €λΆ„ν•΄μ§ˆ 수 있기 λ•Œλ¬Έμ— 쀄 λ°”κΏˆ λ¬Έμ œκ°€ ν•΄κ²° 될지 ν™•μ‹€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

  • _AsyncSyntaxErrorVisitor κ°€ 도움이 λ κΉŒμš”? ν•˜μ§€λ§Œ κ·Έ λ°˜λŒ€ 인 것 κ°™μ•„μš”

ν—Œμ‹ μ΄ λΆ€μ‘±ν•΄μ„œ μœ κ°μž…λ‹ˆλ‹€. PR을 μ œμΆœν•˜κ³  μ‹Άμ§€λ§Œ ν…ŒμŠ€νŠΈ μž‘μ„±μ΄ μ‹«κ³  문제λ₯Ό ν•΄κ²°ν•˜λŠ” 더 쒋은 방법도 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ λˆ„κ΅°κ°€μ—κ²Œ μ—¬μ „νžˆ μœ μš©ν•˜κΈ°λ₯Ό λ°”λžλ‹ˆλ‹€.

μš°λ¦¬λŠ” 같은 것을 μ‹œλ„ ν•  수 이 뿐만 μ•„λ‹ˆλΌ.

그것이 λ‹Ήμ‹ μ˜ μš”μ  nΒΊ 2이고, 정말 μΆ”ν•©λ‹ˆλ‹€. κ°œν–‰μ΄ μž‘λ™ν•©λ‹ˆλ‹€. 쒋은 점은 CPythonμ—μ„œ μ μ ˆν•œ μ§€μ›μ„λ°›λŠ” κ²ƒμž…λ‹ˆλ‹€.

이 λ¬Έμ œκ°€ μ—¬μ „νžˆ ν•΄κ²°λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆκΉŒ? 이 버그λ₯Ό μž‘μ€ 것 κ°™μŠ΅λ‹ˆλ‹€ ...

이것은 였늘 처음으둜 λ‚˜μ™”μŠ΅λ‹ˆλ‹€ (νŒŒμ΄μ¬μ—μ„œ 생성기가 무엇인지 보여 μ£Όλ €κ³  ν•  λ•Œ ν΄λΌμ΄μ–ΈνŠΈμ™€ ν•¨κ»˜ 데λͺ¨λ₯Όν•˜λŠ” λ™μ•ˆ !!!).

λ‚΄κ°€ λ­”κ°€ 잘λͺ»ν–ˆκ±°λ‚˜ μ—¬λŸ¬ 쀄 μ½”λ“œ 블둝을 μž‘μ„±ν•˜κΈ° μœ„ν•΄ λ¬΄μ—‡μ„ν•΄μ•Όν•©λ‹ˆκΉŒ (CTRL-o ν•΄κ²° 방법 μ œμ™Έ)?

ν‘œμ€€ Python REPL에 ν‘œμ‹œλœ μ˜ˆμƒ κ²°κ³Ό :

(tsa) BillsMacBookPro:develop billtubbs$ python
Python 3.5.5 | packaged by conda-forge | (default, Jul 23 2018, 23:45:11) 
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> for i in range(5):
...     x = i*2
...     print(x)
... 
0
2
4
6
8
>>> exit()

였늘 iPython REPL에 λ™μΌν•œ λ‚΄μš©μ„ μž…λ ₯ν•˜λ©΄ κ²°κ³Ό :

(tsa) BillsMacBookPro:develop billtubbs$ ipython
Python 3.5.5 | packaged by conda-forge | (default, Jul 23 2018, 23:45:11) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.0.1 -- An enhanced Interactive Python. Type '?' for help.

In [1]: for i in range(5): 
   ...:     x = i*2                                                                   

In [2]:      

iPython REPL은 μ˜ˆμƒλŒ€λ‘œ 두 번째 쀄을 μžλ™μœΌλ‘œ λ“€μ—¬ μ”λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 두 번째 쀄 끝에 enterλ₯Ό μž…λ ₯ν•˜λ©΄ 선택적인 μ„Έ 번째 쀄을 μ œκ³΅ν•˜λŠ” λŒ€μ‹  두 쀄을 μ‹€ν–‰ν•©λ‹ˆλ‹€.

μœ„μ—μ„œ μ„€λͺ…ν•œ κ²ƒμ²˜λŸΌ 두 번째 μ€„μ—μ„œ Enter ν‚€λ₯Ό λˆ„λ₯΄λŠ” λŒ€μ‹  CTRL-oλ₯Ό 눌러 μ›ν•˜λŠ” κ²°κ³Όλ₯Ό 얻을 수 μžˆμŠ΅λ‹ˆλ‹€.

In [2]: for i in range(5): 
   ...:     x = i*2 
   ...:     print(x)                                                                  
0
2
4
6
8

IPython 7.0.1-...

IPython을 μ—…κ·Έλ ˆμ΄λ“œν•˜μ„Έμš”.이 λ¬Έμ œλŠ” ν•΄κ²°λ˜μ—ˆμŠ΅λ‹ˆλ‹€. μ—¬μ „νžˆ 비동기 μ½”λ“œκ°€μžˆλŠ” κ²½μš°κ°€ μžˆμŠ΅λ‹ˆλ‹€.

μ•„ μ£„μ†‘ν•©λ‹ˆλ‹€. λ‚˜λŠ” κ·Έλ ‡κ²Œ μƒκ°ν–ˆλ‹€. ν›„ conda update ipython I GET # All requested packages already installed.

μ£„μ†‘ν•©λ‹ˆλ‹€. μ’€ ν—·κ°ˆλ¦¬λ„€μš”. μ΅œμ‹  버전은 무엇이며 μ–΄λ–»κ²Œ μ—…κ·Έλ ˆμ΄λ“œν•©λ‹ˆκΉŒ?

μ„€μΉ˜ 방법에 따라 λ‹€λ₯΄λ―€λ‘œ pip install 둜 μ‹œλ„ν•˜μ—¬ μž‘λ™ν•˜λŠ”μ§€ ν™•μΈν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ ν™˜κ²½μ—μ„œ μž‘μ—… ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

그런 일이 λ°œμƒν•˜λ©΄ IPython을 μ‹œμž‘ν•  수 없을 λ•ŒκΉŒμ§€ 적극적으둜 μ œκ±°ν•œ λ‹€μŒ λ‹€μ‹œ μ„€μΉ˜ν•©λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰