2014-07-26 9 views
7

मैं PyCharm (2.7.3) में तरफ से पायथन 2 और 3 isntalled पक्ष के साथ nosetest का उपयोग करने की कोशिश कर रहा हूँ।PyCharm में posthon 2 और 3 स्थापित पक्ष के साथ पाइचर्म में nosetests का उपयोग करके

सब कुछ अजगर 2.7 के तहत ठीक काम करता है, लेकिन अजगर 3.4 में किसी भी परीक्षा निम्नलिखित त्रुटि के साथ विफल:

:

Traceback (most recent call last): 
    File "/home/robert/Programme/pycharm-2.7.3/helpers/pycharm/noserunner.py", line 91, in <module> 
    process_args() 
    File "/home/robert/Programme/pycharm-2.7.3/helpers/pycharm/noserunner.py", line 88, in process_args 
    TestProgram(argv=argv, config=config) 
    File "/usr/local/lib/python3.4/dist-packages/nose/core.py", line 121, in __init__ 
    **extra_args) 
    File "/usr/lib/python3.4/unittest/main.py", line 93, in __init__ 
    self.runTests() 
    File "/usr/local/lib/python3.4/dist-packages/nose/core.py", line 207, in runTests 
    result = self.testRunner.run(self.test) 
    File "/usr/local/lib/python3.4/dist-packages/nose/core.py", line 62, in run 
    test(result) 
    File "/usr/local/lib/python3.4/dist-packages/nose/suite.py", line 177, in __call__ 
    return self.run(*arg, **kw) 
    File "/usr/local/lib/python3.4/dist-packages/nose/suite.py", line 224, in run 
    test(orig) 
    File "/usr/local/lib/python3.4/dist-packages/nose/suite.py", line 177, in __call__ 
    return self.run(*arg, **kw) 
    File "/usr/local/lib/python3.4/dist-packages/nose/suite.py", line 224, in run 
    test(orig) 
    File "/usr/local/lib/python3.4/dist-packages/nose/case.py", line 46, in __call__ 
    return self.run(*arg, **kwarg) 
    File "/usr/local/lib/python3.4/dist-packages/nose/case.py", line 139, in run 
    result.addError(self, err) 
    File "/usr/local/lib/python3.4/dist-packages/nose/proxy.py", line 131, in addError 
    plugins.addError(self.test, err) 
    File "/usr/local/lib/python3.4/dist-packages/nose/plugins/manager.py", line 99, in __call__ 
    return self.call(*arg, **kw) 
    File "/usr/local/lib/python3.4/dist-packages/nose/plugins/manager.py", line 167, in simple 
    result = meth(*arg, **kw) 
    File "/home/robert/Programme/pycharm-2.7.3/helpers/pycharm/nose_utils.py", line 51, in addError 
    err = self.formatErr(err) 
    File "/home/robert/Programme/pycharm-2.7.3/helpers/pycharm/nose_utils.py", line 58, in formatErr 
    return ''.join(traceback.format_exception(exctype, value, tb)) 
    File "/usr/lib/python3.4/traceback.py", line 181, in format_exception 
    return list(_format_exception_iter(etype, value, tb, limit, chain)) 
    File "/usr/lib/python3.4/traceback.py", line 146, in _format_exception_iter 
    for value, tb in values: 
    File "/usr/lib/python3.4/traceback.py", line 125, in _iter_chain 
    context = exc.__context__ 
AttributeError: 'str' object has no attribute '__context__' 
इसके अलावा अजगर 3 दुभाषिया यह कहता है के लिए nosetest रन के रन विन्यास में

WARNING: No nosetest runner found in selected interpreter 

इसे ठीक करने के लिए मुझे क्या करना है? मैं pyCharm (2.7.3) में पायथन 3 nosetests के लिए एक उपयुक्त धावक कैसे चुनूं? धन्यवाद!

संपादित करें: Btw, यह pyCharm 2.7.3

+1

त्रुटि दूर जाना पड़ता है अगर आप 'वापसी '' .join बदल (ट्रैस बैक .format_exception (exctype, value, tb)) 'to 'return' '.join (traceback.format_exception (exctype, value, tb, chain = गलत))' /home/robert/Programme/pycharm-2.7.3/ में हेल्पर्स/pycharm/nose_utils.py', लाइन 58? – dano

+0

हां, धन्यवाद, यह काम करता है। क्या आप इसे टिप्पणी के बजाय वास्तविक उत्तर के रूप में पोस्ट करना चाहते हैं, इसलिए मैं इसे उत्तर के रूप में चिह्नित कर सकता हूं? – SmCaterpillar

+0

हम्म समस्या अब है, कि मेरे पास अब कोई ट्रेसबैक नहीं है। इसलिए डिबगिंग एक दुःस्वप्न बन जाती है, क्या कोई कामकाज है? – SmCaterpillar

उत्तर

7

ठीक है, मेरे वैकल्पिक हल पोस्ट करने के लिए यहाँ यह आसान दूसरों के लिए खोजने के लिए बनाने के लिए।

if sys.version_info[0]==3: 
    return ''.join(traceback.format_exception(exctype, value, tb, chain=False)) 
else: 
    return ''.join(traceback.format_exception(exctype, value, tb)) 

साथ PathToPyCharm/pycharm-2.7.3/helpers/pycharm/nose_utils.py में लाइन 58 की जगह अजगर 3.4 और 2.7 के साथ nosetests काम कर दिया। फिर भी, पाइथन 3.4 का उपयोग करते हुए यदि कोई त्रुटि होती है तो संपूर्ण स्टैक-ट्रेस खो जाता है। परिणामस्वरूप, डिबगिंग एक बुरा सपना :(

अंत में, मैं 3.4.1 करने के लिए अपने PyCharm संस्करण अपग्रेड करके बस समस्या हल हो जाता है।

+0

यह वर्कअराउंड अभी भी पिचर्म 4.0.3 और पायथन 3.4.2 के साथ मान्य है। – lekksi

+1

पिचर्म 4.5 में यह अभी भी एक समस्या है लेकिन अब यह लाइन 70 है जिसे आपको बदलने की जरूरत है। –

+0

अभी भी 4.5.4 पर एक समस्या है, अभी भी लाइन 70 पर काम करता है। – OldTinfoil

संबंधित मुद्दे