2014-09-23 5 views
8

मैंने एक पायथन 3 स्क्रिप्ट पर सीप्रोफाइल चलाया, अच्छी तरह से काम किया, फिर रननेक का उपयोग करके इसे देखने की कोशिश की। कैसे, मुझे एक खाली स्क्रीन और त्रुटि 'खराब मार्शल डेटा' मिला।खराब मार्शल त्रुटि - रननेक

मैंने .pyc फ़ाइल को हटा दिया लेकिन यह भी काम नहीं करता था।

कोड मैं runsnake स्थापित करने के लिए इस्तेमाल किया गया था:

sudo apt-get install python-profiler python-wxgtk2.8 python-setuptoolD 
    sudo easy-install installSquareMap RunSnakeRun 

मैं Ubuntu उपयोग कर रहा हूँ।

बहुत धन्यवाद।

टिप्पणी: मैं जोड़ने चाहिए मैं सब कुछ स्थापित है, जबकि py3k

उत्तर

5

सक्रिय किया गया था मैं एक ही समस्या थी। जहां तक ​​मैं कह सकता हूं, RunSnakeRun पैकेज को Python3 पर पोर्ट नहीं किया गया है। कम से कम, मैं इसे python2 पर पाइप कर सकता हूं लेकिन python3 (SyntaxError) नहीं। इसके अलावा, मैं सोचता हूं सीप्रोफाइल का आउटपुट प्रारूप पायथन 2/3 के बीच संगत नहीं है। मैंने इस बारे में एक निश्चित पुष्टि करने के लिए समय नहीं लिया, लेकिन cProfile class pstats.Stats(*filenames, stream=sys.stdout) के दस्तावेज़ में, वे कहते हैं "उपरोक्त कन्स्ट्रक्टर द्वारा चुनी गई फ़ाइल प्रोफ़ाइल या सीप्रोफाइल के इसी संस्करण द्वारा बनाई गई होनी चाहिए। विशिष्ट होने के लिए इस प्रोफाइलर के भविष्य के संस्करणों के साथ कोई फ़ाइल संगतता गारंटी नहीं है, और अन्य प्रोफाइलरों द्वारा उत्पादित फ़ाइलों के साथ कोई संगतता नहीं है। " यह आपकी समस्या का मूल प्रतीत होता है। जैसे के लिए, मैं

import cProfile 
cProfile.run('some code to profile', 'restats') 

python3

से कोई प्रोफ़ाइल उत्पादन बना दिया है और RunSnakeRun में खोलने के लिए करने की कोशिश की है और एक ही marhsal त्रुटि मिला मिला है। इसके अलावा, अगर मैं

import pstats 
p = pstats.Stats('restats') 
p.strip_dirs().sort_stats(-1).print_stats() 

पायथन 3 में, यह एक आकर्षण की तरह काम करता है। अगर मैं इसे Python2 में करता हूं, तो यह मार्शल त्रुटि देता है। अब, RunSnakeRun को Python2 में निष्पादित किया गया है (जब तक आपको इसे Python3 में चलाने के लिए कोई रास्ता नहीं मिला)। तो, मेरा अनुमान है कि आपने पाइथन 3 में अपनी प्रोफाइलिंग की है और उन्हें विश्लेषण करने के लिए पायथन 2 पर निर्भर उपकरण का उपयोग कर रहे हैं, जो टूल्स आउटपुट को पायथन 2 के साथ संगत होने की उम्मीद कर रहे हैं।

रनस्नेकैक प्रोजेक्ट थोड़ी देर के लिए निष्क्रिय प्रतीत होता है (home page पर कॉपीराइट 2005-2011 है) और कोई संकेत नहीं है कि इसे पायथन 3 पर पोर्ट किया जाएगा .... शायद वैकल्पिक विज़ुअलाइज़ेशन टूल पर विचार करना सबसे अच्छा हो सकता है यदि आप Python3 में विकसित करना चाहते हैं तो आपके लिए जाने का तरीका। pyprof2calltreeKCachegrind के साथ संयोजन में लिनक्स में मेरे लिए ठीक काम किया। यह प्रोफाइलिंग आउटपुट का एक समान दृश्य दृश्य प्रदान कर सकता है जैसा कि आप RunSnakeRun से प्राप्त करेंगे।

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