2012-07-03 24 views
5

Tôi đã cố chạy thử nghiệm hiệu suất mã của mình bằng cProfile, nhưng thật đáng buồn cho dù tôi đã thử cProfile từ chối hoạt động đúng cách như thế nào. Dưới đây là những gì tôi đã làm:python - cProfile không chạy

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

và đây là những gì tôi nhận:

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

Có thể ai đó giúp tôi gỡ rối này, và hy vọng cung cấp một giải pháp?

Tôi đang chạy Python 2.7.3 trên Wing IDE 101 ver4.1.

Cảm ơn bạn !!!

Trả lời

3

Điều này có vẻ giống như một vấn đề với mô-đun pStats chứ không phải là cProfile.

bạn có thể thử làm

import pstats 

Nếu đây nói không thể nhập pstats, sau đó thử cài đặt python-profiler một lần nữa. Nó đi kèm với python chính nó nhưng điều đó có thể được sai lầm trong trường hợp của bạn NẾU pstats là không có.

Đó là một apt-get đơn giản trên Linux, vì vậy tôi giả sử các cửa sổ sẽ có một nhị phân riêng biệt cho python-profiler quá.

Hy vọng điều này sẽ hữu ích!

+0

Tôi đã thử nhập pstats nhưng vẫn báo cáo lỗi tương tự. = [ – turtlesoup

+1

Không, tôi có nghĩa là chỉ cần thử viết pstats nhập khẩu trong một trình bao. Chỉ cần kiểm tra xem nó có hay không, và nếu nó là có, sau đó bạn có nhận được một số lỗi khác hay không. Nếu nó nhập thành công, thì bạn sẽ cần phải xem nếu mô-đun không phải là xấu hoặc một cái gì đó. Hãy thử một số chức năng được đề cập ở đây http://docs.python.org/library/profile.html cho pstats trong một tệp riêng biệt (không có trong mã chính của bạn, chỉ để kiểm tra xem pstats có hoạt động tốt hay không). –

Các vấn đề liên quan