Spyder: λ³€μˆ˜ 탐색기에 λ³€μˆ˜κ°€ ν‘œμ‹œλ˜μ§€ μ•ŠμŒ (Python 3.6)

에 λ§Œλ“  2017λ…„ 02μ›” 16일  Β·  46μ½”λ©˜νŠΈ  Β·  좜처: spyder-ide/spyder

기술

문제λ₯Ό μž¬ν˜„ν•˜λŠ” λ‹¨κ³„λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ?

  1. μŠ€νŒŒμ΄λ” μ—΄κΈ°
  2. λ³€μˆ˜ (μƒμˆ˜ 포함)둜 μ½”λ“œ μž‘μ„±
  3. μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜λ©΄ λ³€μˆ˜κ°€ ν‘œμ‹œλ˜μ§€ μ•ŠμœΌλ©° μƒμˆ˜ 'epsilon'도 ν‘œμ‹œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μ˜ˆμƒλ˜λŠ” 좜λ ₯은 λ¬΄μ—‡μž…λ‹ˆκΉŒ?
λ³€μˆ˜ νƒμƒ‰κΈ°μ—μ„œ 일뢀 좜λ ₯을 λ³Ό κ²ƒμœΌλ‘œ μ˜ˆμƒν•©λ‹ˆλ‹€. 이것은 Spyder 3.1.2 Linux 및 Windows λͺ¨λ‘μ—μ„œ λ°œμƒν•©λ‹ˆλ‹€.

μ•„λž˜μ— μΆ”κ°€ 정보λ₯Ό μž…λ ₯ν•˜μ‹­μ‹œμ˜€.
λ‹€μŒμ€ κ°€μš°μŠ€ μ—˜ λ―Έλ―Έ λ„€μ΄μ…˜μ„ κ΅¬ν˜„ν•˜λ €λŠ” λ‚΄ μ½”λ“œμž…λ‹ˆλ‹€.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Thu Feb 16 17:40:09 2017

<strong i="18">@author</strong>: 
"""

import numpy as np


def f(x):
    return 100*np.exp(-10*x)

def exact(x):
    return 1.0-(1-np.exp(-10))*x-np.exp(-10*x)

# Hardcoded params for simplicity
#fileout = pyOutput
exponent = 4
#n = 4

for k in range(1, exponent):
    # Weird thing we didn't understand
    n = 10**k

    # Append i to filename
    fileout = 'pyOutputSimple'
    fileout += str(k)

    # descretization resolution
    h = 1/n
    hh = h*h

    ''''''

    d = np.zeros(n+1)
    b = np.zeros(n+1)
    x = np.zeros(n+1)
    solution = np.zeros(n+1)

    d[0] = 2
    d[n] = 2
    solution[0] = 0
    solution[n] = 0
    for i in range(1,n):
        d[i] = (i+1)/i
    for i in range(0,n+1):
        x[i] = i*h
        b[i] = hh*f(i*h)

    # FW sub
    for i in range(2,n):
        b[i] = b[i] + b[i-1]/d[i-1]
    # Backward sub
    solution[n-1] = b[n-1]/d[n-1]    
    for i in range((n-2),0):
        solution[i] = (b[i]+solution[i+1])/d[i]

    with open(fileout, 'w') as fout:
        fout.write('x:\t\tApprox:\t\tExact:\t\tRelative Error:\n')
        for j in range(0,n):
            RelativeError = np.abs((exact(x[j])-solution[j])/exact(x[j]))
            fout.writelines('{0:.8f}'.format(x[j]) + '\t')
            fout.writelines('{0:.8f}'.format(solution[j]) + '\t')
            fout.writelines('{0:.8f}'.format(exact(x[j])) + '\t')
            fout.writelines('{0:.8f}'.format(np.log10(RelativeError)) + '\n')
    fout.closed
    print('File: ' + str(k) + '/' + str(exponent) + ' written.')

버전 및 μ£Όμš” ꡬ성 μš”μ†Œ

  • μŠ€νŒŒμ΄λ” 버전 : 3.1.2
  • Python 버전 : 3.6.0
  • Qt 버전 : 5.6.2, Linux의 PyQt5 5.6

쒅속성

numpyκ°€ μ‚¬μš©λ©λ‹ˆλ‹€.

pyflakes >=0.6.0 :  1.5.0 (OK)
pep8 >=0.6       :  1.7.0 (OK)
pygments >=2.0   :  2.1.3 (OK)
qtconsole >=4.2.0:  4.2.1 (OK)
nbconvert >=4.0  :  4.2.0 (OK)
pandas >=0.13.1  :  0.19.2 (OK)
numpy >=1.7      :  1.11.3 (OK)
sphinx >=0.6.6   :  1.5.1 (OK)
rope >=0.9.4     :  0.9.4-1 (OK)
jedi >=0.8.1     :  0.9.0 (OK)
psutil >=0.3     :  5.0.1 (OK)
matplotlib >=1.0 :  2.0.0 (OK)
sympy >=0.7.3    :  1.0 (OK)
pylint >=0.25    :  1.6.4 (OK)

Variable Explorer Duplicate Bug

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

λ³€μˆ˜ νƒμƒ‰κΈ°μ—λŠ” Exclude unsupported types λΌλŠ” μ˜΅μ…˜μ΄ μžˆμŠ΅λ‹ˆλ‹€. 선택을 μ·¨μ†Œν•˜λ©΄ λͺ¨λ“  λ³€μˆ˜ μœ ν˜•μ΄ ν‘œμ‹œλ©λ‹ˆλ‹€.

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

Python 3.6μ—μ„œλ§Œ λ°œμƒν•©λ‹ˆκΉŒ?

λ‚΄κ°€ 말할 μˆ˜μžˆλŠ” ν•œ κ·Έλ ‡μŠ΅λ‹ˆλ‹€. λ‹€λ₯Έ Windows 7 μ»΄ν“¨ν„°μ˜ Python 3.5 및 Spyder 2.3.8μ—λŠ” μ΄λŸ¬ν•œ λ¬Έμ œκ°€ μ—†μ—ˆμŠ΅λ‹ˆλ‹€.

Spyder 3.1.3으둜 μ—…λ°μ΄νŠΈν•˜κ³  λ‹€μ‹œ μ‹œλ„ν•˜μ‹­μ‹œμ˜€. 우리의 ν…ŒμŠ€νŠΈλŠ” Python 3.6μ—μ„œ 잘 μ‹€ν–‰λ˜κ³  있으며 λ³€μˆ˜ 탐색기에 κ°œμ²΄κ°€ ν‘œμ‹œλ˜λŠ”μ§€ κ°μ§€ν•©λ‹ˆλ‹€.

λ‚˜λŠ” λ˜ν•œμ΄ λ¬Έμ œκ°€ λ°œμƒν•˜κ³  있으며 Ubuntuμ—μ„œ 3.1.3을 μ‹€ν–‰ν•˜κ³  μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. IPDB λ³΄κ³ μ„œ ...

ipdb> sys.version_info
sys.version_info(major=3, minor=5, micro=2, releaselevel='final', serial=0)

이 κ°„λ‹¨ν•œ νŒŒμΌμ— λŒ€ν•œ λ³€μˆ˜ νƒμƒ‰κΈ°μ˜ κΈ°λŠ₯을 λ³Ό μˆ˜μžˆμ—ˆμŠ΅λ‹ˆλ‹€ ...

substitutions = dict(planet="World")
print("Hello {planet}".format(**substitutions))

... 그리고 그것은 substitutions dictλ₯Ό μ˜¬λ°”λ₯΄κ²Œ μ‹œκ°ν™”ν–ˆμŠ΅λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜μ΄ νŒŒμΌμ— λŒ€ν•΄ λŒ€ν™”μ‹μœΌλ‘œ μ‹€ν–‰ν•˜λ©΄ ...
https://github.com/cefn/avatap/blob/6ad61cb3b8e198acae1caa6f187726fea4834b30/python/test.py
... λ³€μˆ˜ 탐색기 μ°½μ—λŠ” 첫 번째 둜컬 κ°€μ Έ 였기의 첫 번째 μ€„μ—μ„œλ„ 아무것도 ν‘œμ‹œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ λŒ€ν™” ν˜• ipdb 창은 μ‹€μ œλ‘œ ν•΄λ‹Ή νŒŒμΌμ„ μ‹€ν–‰ν•  λ•Œ λ³€μˆ˜λ₯Ό 검사 ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ test.py의 28 ν–‰μ—μžˆλŠ” Spyder 쀑단 μ μ—μ„œ μˆ˜ν–‰ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

ipdb> !locals().keys()
dict_keys(['BoxPassage', '___', 'Engine', 'ticks_ms', 'loadStory', '_oh', '_iii', 'ChoicePassage', '_ih', 'storyUid', '__package__', 'ConfirmationPassage', '_sh', '_', 'uidInitTypes', '__name__', 'UidRegistry', '__file__', '_i1', 'boxUids', 'getStoryContext', 'Card', 'UidItem', '_ii', 'In', '__builtins__', '_i2', '_dh', 'Container', 'Uid', '_i', '__', 'ConditionalPassage', '__spec__', 'passageUids', 'Box', '__doc__', '__builtin__', 'Story', 'Out', 'AnonymousContainer', 'PagePassage', 'exit', 'story', 'Item', '__loader__', '_i3', 'MockEngine', 'Passage', 'unittest', 'quit', 'get_ipython'])

... λ³€μˆ˜ νƒμƒ‰κΈ°μ—λŠ” 아무것도 ν‘œμ‹œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

apt-get purge λ₯Ό 톡해 λͺ¨λ“  spyder 및 spyder3 μš°λΆ„νˆ¬ νŒ¨ν‚€μ§€λ₯Ό μ œκ±°ν•œ λ‹€μŒ pipλ₯Ό 톡해 μ„€μΉ˜ν–ˆμŠ΅λ‹ˆλ‹€.

sudo -H pip3 install --update spyder

μ΄μƒν•œ 일이 μ—†μ—ˆλŠ”μ§€ 두 배둜 ν™•μ‹ ν•˜κΈ° μœ„ν•΄ λ‚˜λŠ” 달렸닀 ...

pip3 freeze --local | grep -v '^\-e' | cut -d = -f 1  | xargs -n1 sudo -H pip3 install --upgrade

... λͺ¨λ“  pip3 νŒ¨ν‚€μ§€λ₯Ό μ΅œμ‹ μœΌλ‘œ μ—…κ·Έλ ˆμ΄λ“œν•˜μ§€λ§Œ μ—¬μ „νžˆ Spyder의 λ³€μˆ˜ νƒμƒ‰κΈ°λŠ” ν˜‘λ ₯ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

이 λ¬Έμ œκ°€ 디버깅에 κ΄€ν•œ 것이라면 버그이고 문제 # 3711μ—λ³΄κ³ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

Spyder 3.2μ—μ„œ μˆ˜μ •λ©λ‹ˆλ‹€.

μ£„μ†‘ν•©λ‹ˆλ‹€. OPκ°€ λ‚΄κ°€ μƒκ°ν–ˆλ˜ κ²ƒμ²˜λŸΌ 디버거λ₯Ό 톡해 μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμ—μ΄ 버그λ₯Ό μ‹€μˆ˜λ‘œ ν•˜μ΄μž¬ν‚Ήν–ˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. 싀행이 끝날 λ•Œ 'λͺ¨λ“ˆ'기호의 μƒνƒœλ₯Ό λ‚˜νƒ€λ‚΄λŠ” λ³€μˆ˜ λ·°μ–΄κ°€ μžˆλ‹€λŠ” 사싀을 깨닫지 λͺ»ν–ˆκΈ° λ•Œλ¬Έμ— μ„€λͺ… 된 λ™μž‘μ΄ 디버깅과 μ—°κ²°λ˜μ—ˆλ‹€κ³  κ°€μ •ν–ˆμŠ΅λ‹ˆλ‹€. λ‚΄ 잘λͺ»μ΄μ•Ό. μ•„λ§ˆλ„ OPκ°€ λͺ…ν™•νžˆ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

@ ccordoba12 μŠ€νŒŒμ΄λ” 3.2에 μ°©λ₯™ ν•  κ²ƒμœΌλ‘œ μ˜ˆμƒλ˜λŠ” μˆ˜μ • 사항에 λŒ€ν•΄μ΄ κΈ°λŠ₯에 λŒ€ν•œ ν…ŒμŠ€νŠΈμ— κΈ°μ—¬ν•  μˆ˜μžˆλŠ” ν’€ μš”μ²­μ΄ μžˆμŠ΅λ‹ˆκΉŒ? https://github.com/cefn/spyder/pull/1에 따라 debugger-improvements λΆ„κΈ°λ₯Ό spyder : head 둜 λ³‘ν•©ν•˜λ €κ³  μ‹œλ„ν–ˆμ§€λ§Œ μ„€λͺ… 된 디버그 μ‹œλ‚˜λ¦¬μ˜€μ—μ„œ λ³€μˆ˜ νƒμƒ‰κΈ°μ˜ λ™μž‘μ„ λ³€κ²½ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ ( IDEκ°€ μ•ˆμ •μ μ΄κ³  κΈ°λŠ₯적으둜 λ³΄μ΄μ§€λ§Œ).

μ•„λ§ˆλ„ 그것을 ν•΄κ²°ν•˜κΈ°μœ„ν•œ 3.2 μœ„μ‹œλ¦¬μŠ€νŠΈ ν•­λͺ©μ΄κ³  그것을 ν•΄κ²°ν•˜κΈ°μœ„ν•œ μ½”λ“œκ°€ 아직 μž‘μ„±λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆκΉŒ? 라이브 ν…ŒμŠ€νŠΈκ°€ μœ μš©ν•œ 뢀뢄이 있으면 μ•Œλ €μ£Όμ„Έμš”.

λ³€μˆ˜ νƒμƒ‰κΈ°μ—λŠ” Exclude unsupported types λΌλŠ” μ˜΅μ…˜μ΄ μžˆμŠ΅λ‹ˆλ‹€. 선택을 μ·¨μ†Œν•˜λ©΄ λͺ¨λ“  λ³€μˆ˜ μœ ν˜•μ΄ ν‘œμ‹œλ©λ‹ˆλ‹€.

예 @cefn 이 λ¬Έμ œλŠ” 디버거에 없을 λ•Œ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. λ³€μˆ˜λŠ” λ§ˆμ§€λ§‰μ— μ—…λ°μ΄νŠΈλ˜μ–΄μ•Όν•˜μ§€λ§Œ μ „ν˜€ ν‘œμ‹œλ˜μ§€ μ•ŠμœΌλ©΄ μ—…λ°μ΄νŠΈλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ””λ²„κ±°λŠ” λŒ€λΆ€λΆ„μ˜ 경우 μž‘λ™ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. 디버거λ₯Ό μ‹€ν–‰ν•˜λ©΄ ν‘œμ‹œλ˜λ„λ‘ ν•  수 μžˆμ§€λ§Œ 이후 μ‹€ν–‰μœΌλ‘œ μ—…λ°μ΄νŠΈν•˜μ§€ μ•ŠμœΌλ©΄ ν‘œμ‹œλ©λ‹ˆλ‹€. λ„€μ΄ν‹°λΈŒ Python μœ ν˜• (λ¬Έμžμ—΄, μ •μˆ˜, λͺ©λ‘ λ“±)κ³Ό 같이 μ§€μ›λ˜λŠ” μœ ν˜•μž…λ‹ˆλ‹€. 쑰사해 μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€

conda 가상 ν™˜κ²½ yml νŒŒμΌμ—μ„œ λ‹€μŒ ꡬ성을 μ‚¬μš©ν•  λ•Œ Linux의 Spyder 3.1.3μ—μ„œ λ³€μˆ˜κ°€ 이제 μ •μƒμ μœΌλ‘œ ν‘œμ‹œλ˜κ³  μžˆλ‹€κ³  λ§ν•˜κ³  μ‹Άμ—ˆμŠ΅λ‹ˆλ‹€.

https://github.com/sayboltm/tmp/blob/master/spyder_working.yml

이전에 μ‹€ν–‰ μ€‘μ΄λ˜ QT 버전이 λ¬Έμ œμ™€ κ΄€λ ¨μ΄μžˆμ„ 수 μžˆλ‹€λŠ” 직감이 μžˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” μ΅œκ·Όμ—μ•Ό λΆ„λ₯˜ 된 λ‹€λ₯Έ ν”„λ‘œμ νŠΈμ—μ„œ 파이썬 용 QT에 λ§Žμ€ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€.

νŽΈμ§‘ : 전체 yml νŒŒμΌμ„ λΆ™μ—¬ λ„£λŠ” λŒ€μ‹  github 링크

μ‹ κ²½ 쓰지 마. λ¬Όλ‘  λ§Žμ€ ν…ŒμŠ€νŠΈλ₯Ό 거친 ν›„ κ²Œμ‹œν•˜μžλ§ˆμž λ³€μˆ˜ νƒμƒ‰κΈ°μ—μ„œ μ‹€ν–‰ ν•œ ν›„ λ³€μˆ˜κ°€ ν‘œμ‹œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 음, λ‚΄ ꡬ성이 μžˆμŠ΅λ‹ˆλ‹€. 이것이 μ œκ°€ κ°€μž₯ μ’‹μ•„ν•˜λŠ” κΈ°λŠ₯이고 μ œκ°€ Spyderλ₯Ό μ‚¬μš©ν•˜λŠ” 이유이기 λ•Œλ¬Έμ— μ—¬λŸ¬λΆ„μ΄ 그것을 κ³ μΉ  수 있기λ₯Ό λ°”λžλ‹ˆλ‹€.

image

spyder 3.1.3μ—μ„œ spyder 3.1.4둜 μ—…κ·Έλ ˆμ΄λ“œν•˜μžλ§ˆμž 같은 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. Tools / Preferences / Variable Explorer / Autorefresh μ•„λž˜μ— 체크해야 ν•  ν™•μΈλž€μ΄ μžˆμŠ΅λ‹ˆλ‹€ (μ—…κ·Έλ ˆμ΄λ“œ ν›„ κΊΌμ‘ŒμŠ΅λ‹ˆλ‹€).

λ‚˜λŠ” κ·Έ μƒμžλ₯Ό μ‘°μ‚¬ν–ˆκ³  그것은 μ„ νƒλ˜μ§€ μ•Šμ•˜λ‹€. κ·ΈλŸ¬λ‚˜ λ‚˜λŠ” 그것을 ν™•μΈν•˜κ³ , 그것을 ν™•μΈν•˜κ³ , μŠ€νŒŒμ΄λ”λ₯Ό λ‹€μ‹œ μ‹œμž‘ν•˜λŠ” 것이 μ—¬μ „νžˆ 겉보기에 κ°„ν—μ μœΌλ‘œ λ³΄μ΄λŠ” 문제λ₯Ό ν•΄κ²°ν•˜μ§€ λͺ»ν–ˆλ‹€. 이것은 κ½€ ν˜Όλž€ μŠ€λŸ½μŠ΅λ‹ˆλ‹€.

이 λ¬Έμ œκ°€ ν•΄κ²° λ˜μ—ˆμŠ΅λ‹ˆκΉŒ? μ½”λ“œλ₯Ό μ„±κ³΅μ μœΌλ‘œ μ‹€ν–‰ν–ˆμ§€λ§Œ λ‚˜μ€‘μ— λ³€μˆ˜ νƒμƒ‰κΈ°μ—μ„œ λ³€μˆ˜λ₯Ό λ³Ό 수 μ—†μŠ΅λ‹ˆλ‹€. μ™œ μ΄λŸ°κ±°μ•Ό? Python 3.5.3을 ν¬ν•¨ν•œ Spyder 3.2.0.

μ—¬κΈ°μ„œ 같은 λ¬Έμ œμ— μ§λ©΄ν•˜μ—¬ Spyder Version : 3.1.4λ₯Ό λ§μΉ©λ‹ˆλ‹€.
데이터 μœ ν˜•μ„ λ³Ό 수 μ—†μŠ΅λ‹ˆλ‹€ !!
그리고 여기에 μƒˆλ‘œμš΄!
ν•΄κ²°ν•˜λ„λ‘ λ„μ™€μ£Όμ„Έμš”. :)
capture

κ°μ‚¬ν•©λ‹ˆλ‹€ @vishalnadagiri. ν˜„μž¬ 객체 λ°°μ—΄ ( dtype=object , μˆ«μžκ°€ μ•„λ‹Œ 데이터 포함)은 μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이 κΈ°λŠ₯을 μΆ”κ°€ν•˜κΈ°μœ„ν•œ 진행쀑인 PR (# 5260)이 이미 μžˆμŠ΅λ‹ˆλ‹€. ν–₯ν›„ λ¦΄λ¦¬μŠ€μ—μ„œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

κ·Έ λ™μ•ˆμ—:

  • DataFrame 둜 μœ μ§€ν•˜λ©΄ X 데이터λ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€ (10 ν–‰μ—μ„œ .values 만 제거).
  • λ˜λŠ” μˆ«μžκ°€ μ•„λ‹Œ 데이터 (κ·€ν•˜μ˜ 경우 첫 번째 μ—΄)λ₯Ό μ œκ±°ν•˜λ©΄ array 둜 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

도움을 μ£Όμ‹  @Prikers μ—κ²Œ κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€. .values λ₯Ό μ œκ±°ν•˜μ—¬ DataFrame을 λ³΄μ•˜μŠ΅λ‹ˆλ‹€. 잘 μž‘λ™ν•˜κ³  DataFrame을 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€!

λ‚˜λŠ” μ—¬μ „νžˆμ΄ λ¬Έμ œκ°€ λ°œμƒν•˜λŠ” 것을 λ³΄μ•˜κ³  결과적으둜 μ—…λ°μ΄νŠΈν•˜κ³  μ œλŒ€λ‘œ μž‘λ™ν•˜κΈ° μœ„ν•΄ μ •λ§λ‘œ μ˜μ§€ν•΄μ•Ό ν•  λ•Œ Spyder 2.3.8을 μ‹€ν–‰ν•©λ‹ˆλ‹€. λ¬Έμ œλŠ” λ‹€λ₯Έ μž‘μ—…μ„ μ œν•œν•˜λŠ” 였래된 matplotlibκ°€ ν•„μš”ν•˜λ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.

이 μŠ€λ ˆλ“œλ₯Ό μœ„ν•΄ λ‚˜λŠ” Spyder 3.2.3 (ν˜„μž¬ condaμ—μ„œ μ΅œμ‹  지원) ν…ŒμŠ€νŠΈλ₯Ό μ‹œμž‘ν–ˆμœΌλ©° λ³€μˆ˜ 탐색기가 μž‘λ™ν•˜λŠ” κ²ƒμ²˜λŸΌ λ³΄μž…λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ λ‚˜λŠ” μƒˆλ‘œμš΄ λ²„μ „μœΌλ‘œ Linux와 Windowsμ—μ„œ μ‹œλ„ν–ˆμœΌλ©° λ•Œλ‘œλŠ” μž‘λ™ν•œλ‹€κ³  λ§Ήμ„Έν•©λ‹ˆλ‹€.

μ΅œμ•…μ˜ 뢀뢄은 μ²˜μŒμ— μž‘λ™ν•˜κ³  λ³€μˆ˜λ‘œ μ±„μš΄ λ‹€μŒ (μž‘λ™ν•œλ‹€κ³  μƒκ°ν•˜λ―€λ‘œ) μž‘μ—…μ„ μ’…λ£Œν•˜μ—¬ 이전 데이터가 κ·ΈλŒ€λ‘œ μœ μ§€λ˜κ³  λ³€μˆ˜κ°€ μ œλŒ€λ‘œ ν• λ‹Ήλ˜μ§€ μ•ŠλŠ” 이유 등이 κΆκΈˆν•˜μ§€λ§Œ μ‹€μ œλ‘œλŠ” λ³€μˆ˜ νƒμƒ‰κΈ°μž…λ‹ˆλ‹€. 사망. 이 경우 iPython μ½˜μ†”μ— μ•Œλ €μ§„ μ§€μ›λ˜λŠ” μœ ν˜• (int, string)을 μž…λ ₯ν•˜μ—¬ ν™•μΈν•˜κ³  λ³€μˆ˜ 탐색기에 μΆ”κ°€λ˜μ§€ μ•Šμ•˜λŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€. μ—¬κΈ°μ„œ λͺ‡ 가지 ν™œλ™μ„ λ³΄κ²Œλ˜μ–΄ κΈ°μ©λ‹ˆλ‹€. λ³€μˆ˜ 탐색기가 λ§ˆμŒμ— λ“€λ©΄ λ‹€μ‹œ 확인해 λ³΄κ² μŠ΅λ‹ˆλ‹€. ν™•μ‹€νžˆ μŠ€νŒŒμ΄λ”μ˜ κ°€μž₯ μ’‹μ•„ν•˜λŠ” κΈ°λŠ₯!

@Prikers κΈ°λŒ€ν•©λ‹ˆλ‹€! Spyderλ₯Ό κ²Œμ΄νŠΈμ›¨μ΄λ‘œ μ‚¬μš©ν•˜μ—¬ μ‚¬λžŒλ“€μ„ Matlabμ—μ„œ Pythonκ³Ό μ˜€ν”ˆ μ†ŒμŠ€λ‘œ 이동할 수 μžˆλ‹€λŠ” 점을 μ’‹μ•„ν•©λ‹ˆλ‹€!

@sayboltm μž¬ν˜„ κ°€λŠ₯ν•œ κ°„λ‹¨ν•œ μ˜ˆκ°€ 있으면 μ‘°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€!

Spyder 3.1.2 및 Python 3.6μ—μ„œ λΉ„μŠ·ν•œ λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. λ³€μˆ˜ 탐색기에 λ‚΄ λ³€μˆ˜κ°€ λ‚˜μ—΄λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ λ°°μ—΄ λ˜λŠ” ν–‰λ ¬ λ³€μˆ˜λ₯Ό 두 번 ν΄λ¦­ν•˜λ©΄ 2. * λ²„μ „μ˜ Sypderμ—μ„œ λ³Ό 수 μžˆμ—ˆλ˜ κ²ƒμ²˜λŸΌ 전체 λ°°μ—΄ λ˜λŠ” 전체 행렬을 λ³Ό 수 μ—†μŠ΅λ‹ˆλ‹€. λˆ„κ΅°κ°€μ΄ 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 방법에 λŒ€ν•΄ μ•Œλ €μ€„ 수 μžˆμŠ΅λ‹ˆκΉŒ? 미리 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€!

내가받은 였λ₯˜ λ©”μ‹œμ§€ : 'Spyderκ°€ μ½˜μ†”μ—μ„œμ΄ λ³€μˆ˜μ˜ 값을 검색 ν•  수 μ—†μŠ΅λ‹ˆλ‹€.'λΌλŠ” μΆ”κ°€ 였λ₯˜ λ©”μ‹œμ§€μ™€ ν•¨κ»˜ 'IPython μ½˜μ†”μ—μ„œ λ””λ²„κΉ…ν•˜λŠ” λ™μ•ˆ 값을 κ²€μ‚¬ν•˜κ³  μ„€μ •ν•˜λŠ” 것은 Spyderμ—μ„œ 아직 μ§€μ›λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€'λΌλŠ” μΆ”κ°€ 였λ₯˜ λ©”μ‹œμ§€κ°€ ν‘œμ‹œλ©λ‹ˆλ‹€. κ·ΈλŸΌμ—λ„ λΆˆκ΅¬ν•˜κ³  λ‚˜λŠ” 2. * λ²„μ „μ˜ Spyderμ—μ„œ 전체 데이터 ν”„λ ˆμž„μ˜ λ‚΄μš©μ„ λ³Ό 수 μžˆλ‹€κ³  ν™•μ‹ ν•©λ‹ˆλ‹€.

@JasperAustin 디버거λ₯Ό μ‹€ν–‰ν•˜λŠ” λ™μ•ˆ λ³€μˆ˜λ₯Ό λ³΄λ €κ³ ν•©λ‹ˆκΉŒ?
κ·€ν•˜μ˜ 문제 가이 λ¬Έμ œμ™€ μœ μ‚¬ν•©λ‹ˆκΉŒ?

예, @Prikers , λ””λ²„κ±°μ—μ„œ 배열을 λ³΄λ €κ³ ν•©λ‹ˆλ‹€.

κ·€ν•˜μ˜ λ¬Έμ œλŠ” Spyder 3.2μ—μ„œ μˆ˜μ •λ˜μ—ˆμŠ΅λ‹ˆλ‹€. μ—…λ°μ΄νŠΈν•˜μ‹­μ‹œμ˜€.

2017 λ…„ 3 μ›” 10 일 μ˜€μ „ 15μ‹œ 34 λΆ„, JasperAustin escribiΓ³ :
>

예, @Prikers https://github.com/prikers , μ €λŠ”
λ””λ²„κ±°μ˜ λ°°μ—΄

β€”
당신이 μ–ΈκΈ‰ λ˜μ—ˆκΈ° λ•Œλ¬Έμ— 이것을 λ°›κ³  μžˆμŠ΅λ‹ˆλ‹€.
이 이메일에 직접 λ‹΅μž₯ν•˜κ³  GitHubμ—μ„œ ν™•μΈν•˜μ„Έμš”.
https://github.com/spyder-ide/spyder/issues/4154#issuecomment-333970000 ,
λ˜λŠ” μŠ€λ ˆλ“œ μŒμ†Œκ±°
https://github.com/notifications/unsubscribe-auth/AAWS7SsFdQRCZ039T-4G8PguiNdDVwpsks5sopppgaJpZM4MDpNC .

κ°μ‚¬ν•©λ‹ˆλ‹€, @ ccordoba12. μ €λŠ” Python을 처음 μ‚¬μš©ν•©λ‹ˆλ‹€. 3.1.2μ—μ„œ Spyder 3.2둜 μ—…λ°μ΄νŠΈν•˜λ €λ©΄ μ–΄λ–»κ²Œν•΄μ•Όν•©λ‹ˆκΉŒ?

Anacondaλ₯Ό μ‚¬μš©ν•˜λŠ” 경우 μ‹œμŠ€ν…œ 터미널 (cmd.exe, Terminal.app λ˜λŠ” xterm)μ—μ„œ μ‹€ν–‰ν•΄μ•Όν•©λ‹ˆλ‹€.

conda update spyder

그렇지 μ•Šμ€ 경우 μ‹€ν–‰ν•˜μ‹­μ‹œμ˜€

pip install -U spyder

λ‹€μ‹œ ν•œ 번 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€ @ ccordoba12 . Anacondaλ₯Ό μ‚¬μš©ν•˜κ³  첫 번째 λͺ…령을 두 번 μ‹œλ„ν–ˆμ§€λ§Œ μ—¬μ „νžˆ λ‹€μŒ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.
C : \ Users \ U608025> μ½˜λ‹€ μ—…λ°μ΄νŠΈ μŠ€νŒŒμ΄λ”
νŒ¨ν‚€μ§€ 메타 데이터λ₯Ό κ°€μ Έ μ˜€λŠ” 쀑 ...

CondaHTTPError : HTTP μ—†μŒ URL에 λŒ€ν•œ μ—†μŒ
κ²½κ³Ό : μ—†μŒ

이 URL을 κ²€μƒ‰ν•˜λŠ” 쀑에 HTTP 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.
ConnectTimeout (MaxRetryError ( "HTTPSConnectionPool (host = 'repo.continuum.io', 포트
= 443) : URL : /pkgs/free/win-64/repodata.json.bz2 (원인
d μ˜ν•΄ ConnectTimeoutError ( 0x0000000006D19A90>, 'repo.continuum.io에 λŒ€ν•œ μ—°κ²° μ‹œκ°„μ΄ μ΄ˆκ³Όλ˜μ—ˆμŠ΅λ‹ˆλ‹€.
. (μ—°κ²° μ‹œκ°„ 초과 = 9.15) ')) ",),)

λ‚˜λŠ” 달렸닀

pip μ„€μΉ˜ -U μŠ€νŒŒμ΄λ”

κ·ΈλŸ¬λ‚˜ 그것은 3.2κ°€ μ•„λ‹ˆλΌ Spyder 3.1.2λ₯Ό μ„€μΉ˜ν–ˆμŠ΅λ‹ˆλ‹€. (Ubuntu 16.04 LTSμ—μ„œ)

μ•ˆλ…•ν•˜μ„Έμš” μ—¬λŸ¬λΆ„!

μŠ€νŒŒμ΄λ”μ— μ•½κ°„μ˜ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. λ¨Όμ € 여기에 문제λ₯Ό μž‘μ„±ν•˜μ—¬ μ‚¬κ³Όλ“œλ¦½λ‹ˆλ‹€! 그닀지 μ€‘μš”ν•˜μ§€λŠ” μ•Šμ§€λ§Œ λˆ„κ΅°κ°€ 도와 μ£Όμ…¨μœΌλ©΄ μ’‹κ² μŠ΅λ‹ˆλ‹€ ^^
사싀 Spyderλ₯Ό μ—΄λ©΄ 탐색기에 ScalarType, cast ect와 같은 λ§Žμ€ λ³€μˆ˜κ°€ μžˆμŠ΅λ‹ˆλ‹€.
μ΄λŸ¬ν•œ λ³€μˆ˜κ°€ ν‘œμ‹œλ˜μ§€ μ•Šλ„λ‘ν•˜λŠ” esay 방법이 μžˆμŠ΅λ‹ˆκΉŒ?

정말 κ³ λ§ˆμ›Œ !

@ldesmet λ³€μˆ˜ 탐색기 ν”ŒλŸ¬κ·ΈμΈμ˜ 였λ₯Έμͺ½ 상단 λͺ¨μ„œλ¦¬μ— ν†±λ‹ˆ 바퀴 메뉴가 μžˆμŠ΅λ‹ˆλ‹€. μ—¬κΈ°μ—λŠ” λ‹€μŒκ³Ό 같은 일뢀 λ³€μˆ˜λ₯Ό μˆ¨κΈ°λŠ” μ˜΅μ…˜μ΄ μžˆμŠ΅λ‹ˆλ‹€.

  • λΉ„κ³΅κ°œ μ°Έμ‘° ( _ μ‹œμž‘ν•˜λŠ” λ³€μˆ˜ 이름)
  • λͺ¨λ“  λŒ€λ¬Έμž μ°Έμ‘°
  • μ§€μ›λ˜μ§€ μ•ŠλŠ” 데이터 μœ ν˜•

μ΄λŸ¬ν•œ μ˜΅μ…˜μ΄ κ·€ν•˜μ˜ μš”κ΅¬μ— λ§žμŠ΅λ‹ˆκΉŒ?

μ•ˆλ…•ν•˜μ„Έμš” ! λ‹΅λ³€ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€ :)

λΆˆν–‰νžˆλ„ μ €λŠ” 이미이 체크 λ°•μŠ€λ₯Ό μ„ νƒν–ˆμŠ΅λ‹ˆλ‹€. Spyderλ₯Ό μ—΄ λ•Œ λ³€μˆ˜ 탐색기에 μ—¬μ „νžˆ μ΄λŸ¬ν•œ λ³€μˆ˜κ°€ μžˆμŠ΅λ‹ˆλ‹€.

λ‹€μ‹œ κ°μ‚¬ν•©λ‹ˆλ‹€!

spyderλ₯Ό μ—΄ 자마자 (슀크립트λ₯Ό μ‹€ν–‰ν•˜κΈ° 전에) μ΄λŸ¬ν•œ λ³€μˆ˜κ°€ λ³€μˆ˜ 탐색기λ₯Ό 채 μ›λ‹ˆλ‹€?

λ„€, μ •ν™•νžˆ! μ›ν•˜λŠ” 경우 사진에 μ°Έμ—¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

@ldesmet IPython μ½˜μ†”μ€ μ—΄ 자마자 일뢀 μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜μ—¬ numpyλ₯Ό κ°€μ Έμ˜¬ 수 μžˆμŠ΅λ‹ˆλ‹€. Spyder ( Tools 메뉴)μ—μ„œ κΈ°λ³Έ 섀정을 μ—΄κ³  IPython console 및 Graphics 탭을 클릭 ν•œ λ‹€μŒ Automatically import Pylab and Numpy modules κ°€ μ„ νƒλ˜μ–΄ μžˆλŠ”μ§€ 확인할 수 μžˆμŠ΅λ‹ˆκΉŒ? κ·Έλ ‡λ‹€λ©΄ μ•„λ§ˆλ„ κ·Έ 원인 일 κ²ƒμž…λ‹ˆλ‹€. 그렇지 μ•Šμ€ 경우 확인해야 ν•  λ‹€λ₯Έ 사항은 Startup νƒ­ 및 Use symbolic maths μ•„λž˜μ˜ Advanced Settings μž…λ‹ˆλ‹€.

이것이 λ„μ›€μ΄λ˜μ§€ μ•ŠλŠ”λ‹€λ©΄ 사진이 유용 ν•  κ²ƒμž…λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš” κ·€ν•˜μ˜ 닡변에 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€!

방금 "μžλ™μœΌλ‘œ Pylab 및 Numpy λͺ¨λ“ˆ κ°€μ Έ 였기"μƒμžλ₯Ό 선택 μ·¨μ†Œν–ˆμœΌλ©° 이제 μ΄λŸ¬ν•œ λ³€μˆ˜κ°€ 더 이상 ν‘œμ‹œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€! μ™„λ²½ν•˜κ²Œ μž‘λ™ν•©λ‹ˆλ‹€!

@Prikers 와 @jitseniesen λͺ¨λ‘ κ°μ‚¬ν•©λ‹ˆλ‹€ :)

μ•ˆλ…•ν•˜μ„Έμš”, μ €λŠ” pythonκ³Ό spyderλ₯Ό 처음 μ ‘ν–ˆκ³  Python 3.5κ°€ μ„€μΉ˜λœ spyder 3.2.4λ₯Ό 가지고 μžˆμŠ΅λ‹ˆλ‹€. 잘 μ‹€ν–‰λ˜λŠ” tensorflow μ½”λ“œκ°€ μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ½˜μ†”μ—μ„œ tensorflow와 κ΄€λ ¨λœ λ³€μˆ˜ 값을 ν‘œμ‹œν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— 디버깅에 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. 디버그 λͺ¨λ“œμ—μ„œ μ½”λ“œλ₯Ό μ‹€ν–‰ ν•œ ν›„ μ•„λž˜μ˜ '예츑'예제λ₯Ό μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€. 'μ˜ˆμΈ‘μ€ tensorflow ν•¨μˆ˜μ˜ 좜λ ₯μž…λ‹ˆλ‹€.

ipdb> λ‚˜λŠ”
9
ipdb> 예츑

λ‹€μŒμ„ κ°€μ Έμ˜΅λ‹ˆλ‹€.
numpyλ₯Ό np둜 κ°€μ Έ 였기
tensorflowλ₯Ό tf둜 κ°€μ Έ 였기
μˆ˜μž… μ‹œκ°„
import data_helpers

디버깅에 μ€‘μš”ν•˜κΈ° λ•Œλ¬Έμ— μ½˜μ†”μ— tensorflow λ³€μˆ˜ 값을 ν‘œμ‹œν•˜λŠ” ν•΄κ²° 방법이 μžˆμŠ΅λ‹ˆκΉŒ?

감사!

인사말!

λ³€μˆ˜ νƒμƒ‰κΈ°μ—μ„œ λΉ„μŠ·ν•œ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. Spyder 3.5λ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. λ‚΄κ°€ μ—¬κΈ°μ„œ 잘λͺ»ν•˜κ³  있으면 μ•Œλ €μ£Όμ‹­μ‹œμ˜€.

μ•„λž˜ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λ©΄ λ³€μˆ˜ 탐색기에 λ‚˜μ—΄λœ welcome_str 을 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

welcome_str='hello'
print(welcome_str)

이제 __name __ == "__ main__"을 μ‚¬μš©ν•˜μ—¬ λ™μΌν•œ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λ©΄ λ³€μˆ˜ 탐색기가 λΉ„μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

#Main function
def main():

    #define constants here
    welcome_str='hello'

    #program flow
    print(welcome_str)

#Main function call
if __name__=="__main__":
    main()

IPython μ½˜μ†”μ—μ„œ μˆ˜λ™μœΌλ‘œ % reset을 μ‚¬μš©ν•˜μ—¬ λ³€μˆ˜ 탐색기λ₯Ό μ§€μš°λŠ” λŒ€μ‹  슀크립트 μ‹œμž‘ 뢀뢄에 λ‹€μŒ μ½”λ“œλ₯Ό κ΅¬ν˜„ν•˜λ €λŠ” μ‹œλ„μ—μ„œ λ™μΌν•œ 버그가 λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

IPython import get_ipythonμ—μ„œ
get_ipython (). magic ( 'reset -sf')

GUI μˆ˜λ™μ—μ„œ 일뢀 데이터λ₯Ό κ°€μ Έμ˜¬ λ•Œ 디버그 됨

λ‚˜λŠ” λ˜ν•œμ΄ λ¬Έμ œκ°€ μžˆμ—ˆλ‹€. IPython μ‹œμž‘ 슀크립트λ₯Ό μ‚¬μš©ν•˜μ—¬ μΆ”μ ν–ˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” λ§ˆμ§€λ§‰μ— μ•½κ°„μ˜ λ³€μˆ˜ 정리λ₯Όν•˜κ³  μžˆμ—ˆκ³  del get_ipython λŠ” λΆ„λͺ…νžˆ λ³€μˆ˜ 탐색기에 λŒ€ν•œ 연결을 λ§μ³€μŠ΅λ‹ˆλ‹€. get_ipython 을 λ²”μœ„μ— μœ μ§€ν•˜λ©΄ μ œλŒ€λ‘œ μž‘λ™ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

get_ipython은 λ³€μˆ˜ 탐색기에 λŒ€ν•œ 연결을 λΆ„λͺ…νžˆ λ§μ³€μŠ΅λ‹ˆλ‹€. λ²”μœ„μ— get_ipython을 μœ μ§€ν•˜λ©΄ μ˜¬λ°”λ₯΄κ²Œ μž‘λ™ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

λ„€, get_ipython은 Spyder뿐만 μ•„λ‹ˆλΌ IPythonμ—μ„œλ„ 맀우 μ€‘μš”ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‹ˆ μ œκ±°ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€.

capture
ν…μŠ€νŠΈκ°€ clean_answer의 κ°’ 열에 ν‘œμ‹œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.이 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 방법

@jagadishkt , 이전 및 λ‹«νžŒ 문제λ₯Ό κ²Œμ‹œν•˜λŠ” λŒ€μ‹  λ¬Έμ œμ— λŒ€ν•œ μƒˆλ‘œμš΄ 문제λ₯Όμ—¬μ‹­μ‹œμ˜€. λ˜ν•œ 였λ₯˜λ₯Ό μž¬ν˜„ν•˜λŠ” 데 μ‚¬μš©ν•  μˆ˜μžˆλŠ” κ°„λ‹¨ν•œ μ½”λ“œλ₯Ό κ²Œμ‹œ ν•΄μ£Όμ„Έμš”.

@ ccordoba12 κ°μ‚¬ν•©λ‹ˆλ‹€. 그것은 λ„μ›€μ΄λ˜μ—ˆλ‹€

Spyder 3.1.2 및 Python 3.6μ—μ„œ λ™μΌν•œ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. ν•¨μˆ˜κ°€ μ œλŒ€λ‘œ μ‹€ν–‰λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 싀행쀑인 것이 λ³΄μ΄μ§€λ§Œ 아무 것도 λ°˜ν™˜λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이것은 더미 ν…ŒμŠ€νŠΈ ν•¨μˆ˜μ˜ κ²½μš°μ΄κΈ°λ„ν•©λ‹ˆλ‹€ (예 : a + b return c).

λ‚˜λŠ” spyder 3.3.6μ—μ„œ 같은 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. numpy, spyderλ₯Ό μ œκ±°ν•˜κ³  λ‘˜ λ‹€ λ‹€μ‹œ μ„€μΉ˜ν•˜λ©΄ λ¬Έμ œκ°€ ν•΄κ²°λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

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