2012-07-03 5 views
5

Ich habe versucht, einen Leistungstest meines Codes mit cProfile auszuführen, aber leider, egal wie ich versuchte cProfile verweigert, ordnungsgemäß zu funktionieren. Hier ist, was ich getan habe:Python - cProfile läuft nicht

import cProfile 
cProfile.run('addNum()') # addNum() is a very simple function that adds a bunch of 
          # numbers into a dictionary 

und hier ist, was ich habe:

Traceback (most recent call last): 
File "C:\Program Files\Wing IDE 101 4.1\src\debug\tserver\_sandbox.py", line 1, in <module> 
# Used internally for debug sandbox under external interpreter 
File "C:\Python27\Lib\cProfile.py", line 36, in run 
result = prof.print_stats(sort) 
File "C:\Python27\Lib\cProfile.py", line 81, in print_stats 
pstats.Stats(self).strip_dirs().sort_stats(sort).print_stats() 
File "C:\Python27\Lib\pstats.py", line 81, in __init__ 
self.init(arg) 
File "C:\Python27\Lib\pstats.py", line 95, in init 
self.load_stats(arg) 
File "C:\Python27\Lib\pstats.py", line 124, in load_stats 
self.__class__, arg) 
TypeError: Cannot create or construct a <class pstats.Stats at 0x01AE9CA8> object from '<cProfile.Profile object at 0x01ACC470>'' 

Kann mir jemand helfen, diese zu debuggen, und hoffentlich eine Lösung zur Verfügung stellen?

Ich verwende Python 2.7.3 auf Wing IDE 101 ver4.1.

Danke !!!

Antwort

3

Dies scheint ein Problem mit dem Modul pStats und nicht das cProfile.

können Sie versuchen,

import pstats 

tun Wenn dies sagt kann pstats nicht importieren, dann versuchen, die Python-Profiler erneut zu installieren. Es kommt mit Python selbst, aber das könnte in Ihrem Fall durcheinander gebracht werden, wenn Pstats nicht da ist.

Es ist eine einfache apt-get auf Linux, so nehme ich an, Windows würde eine separate Binärdatei für Python-Profiler zu haben.

Hoffe, das hilft!

+0

Ich habe versucht, Pstats zu importieren, aber es gemeldet immer noch den gleichen Fehler. = [ – turtlesoup

+1

Nein, ich wollte nur versuchen, Import-Pstats in eine Shell zu schreiben. Überprüfe einfach, ob es da ist oder nicht, und wenn es da ist, dann bekommst du andere Fehler oder nicht. Wenn es erfolgreich importiert, dann müssten Sie sehen, ob das Modul nicht schlecht oder so ist. Probieren Sie einige der hier erwähnten Funktionen http://docs.python.org/library/profile.html für pstats in einer separaten Datei aus (nicht in Ihrem Hauptcode, nur um zu überprüfen, ob pstats funktioniert.) –