2012-07-03 26 views
5

Estaba tratando de ejecutar una prueba de rendimiento de mi código usando cProfile, pero lamentablemente no importa cómo intenté cProfile se negó a funcionar correctamente. Aquí es lo que hice:python - cProfile no se está ejecutando

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

y aquí es lo que tengo:

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>'' 

Puede alguien ayudarme a depurar este, y es de esperar proporcionar una solución?

Estoy ejecutando Python 2.7.3 en Wing IDE 101 ver4.1.

Gracias!

Respuesta

3

Parece un problema con el módulo pStats y no con el perfil cProfile.

puede que trate de hacer

import pstats 

Si esto dice que no puede importar pstats, a continuación, intente instalar el pitón-perfilador de nuevo. Viene con Python en sí mismo, pero podría estar en mal estado en su caso SI los pstats no están allí.

Es un simple apt-get en linux, así que supongo que Windows también tendría un binario separado para python-profiler.

Espero que esto ayude!

+0

He intentado importar pstats, pero todavía informó el mismo error. = [ – turtlesoup

+1

] No, quise decir solo intentar escribir import pstats en un shell. Simplemente verifique si está allí o no, y si está allí, entonces obtendrá otros errores o no. Si se importa con éxito, entonces necesitaría ver si el módulo no está mal o algo así. Pruebe algunas de las funciones mencionadas aquí http://docs.python.org/library/profile.html para los pstats en un archivo separado (no en su código principal, solo para verificar si pstats funciona bien). –

Cuestiones relacionadas