2016-12-12 32 views
6

Mac OS için official "pkg" bundle'dan yüklenen Python 3.6rc1 var. Şimdi, PyCharm'da "hata ayıklama" çalıştırma yapılandırması kullandığım her zaman (belirli bir betiğe bağlı değil), aşağıdaki hata iletilerini (üst üste birden çok kez atılmış) ile yığın yığın izini alıyorum:Modül 'trace', PyCharm (Python 3.6) 'da hata ayıklamaya çalışırken' modname 'özelliğine sahip değildir.

Traceback (most recent call last): 
    File "/Applications/PyCharm.app/Contents/helpers/pydev/_pydevd_bundle/pydevd_signature.py", line 88, in create_signature 
    filename, modulename, funcname = self.file_module_function_of(frame) 
    File "/Applications/PyCharm.app/Contents/helpers/pydev/_pydevd_bundle/pydevd_signature.py", line 102, in file_module_function_of 
    modulename = trace.modname(filename) 
AttributeError: module 'trace' has no attribute 'modname' 

Güncel en son PyCharm'ı kullanma 2016.3. Python 2.7 veya 3.5 kullanarak herhangi bir sorun olmadan aynı PyCharm örneğini kullanarak hata ayıklayabileceğimi unutmayın.

Böyle bir şey yaşayan var mı? Bir çözüm var mı? Bu aslında bir hata olduğunu ya da ben yanlış yapılandırılmış bir şey haline geldiğini emin değilim çünkü


SO üzerinde Gönderme; artı, PyCharm ekibinin burada pycharm etiketini kontrol ettiğini biliyorum; ve PyCharm'ın hata izleyicisinin aksine bu konuyu burada bulmak daha kolay olurdu. aslında pycharm en PyDev.Debugger bir bug yoktur

+0

Kendi projenizin 'trace' adlı bir modülü var mı? – yole

+0

@yole gördüğüm şeyden, projede "trace.py" veya "trace" paketi yok. Fakat, doğru yoldasınız - sorunu yeni bir projede yeniden üretemiyorum. Öyleyse, projenin içinde olanla ilgili olmalı, araştıracağım. Teşekkürler! – alecxe

+2

da bana oluyor. Hata ayıklama 3.5.2 üzerinde çalışır ancak PyCharm 2016.3 kullanılarak python 3.6'da aynı hata ile başarısız olur. – emepe

cevap

9

, bu Python 3.2 beri var olmayan hangi trace.modname kullanır: ayıklayıcı ile başlatılıp başlatılmadığını

def file_module_function_of(self, frame): #this code is take from trace module and fixed to work with new-style classes 
    code = frame.f_code 
    filename = code.co_filename 
    if filename: 
     modulename = trace.modname(filename) # < HERE 
    else: 
     modulename = None 
    # ... 

Şimdi, bu özel kod yalnızca idam olacağını

enter image description here

: Python ayıklama ayarı "kod içgörü için toplayın çalışma zamanı türleri bilgileri" olarak etkindir --save-signatures komut satırı seçeneği

Ayarı kapatın ve hata gider.

+1

Geçici çözümünüzü denedim ve işe yarıyor! Ayrıca, sorun raporunu github'da takip ediyorum. Teşekkürler. – emepe

+1

Teşekkür ederim @alecxe. – vittore

İlgili konular