cProfile没有属性runctx

时间:2018-03-31 16:30:17

标签: python profiling cython cprofile

我正在尝试学习Cython的方法,我正在遵循官方文档。最近,我尝试做“http://docs.cython.org/en/latest/src/tutorial/profiling_tutorial.html”中提供的教程。 这里的目标是剖析Cython文档。 这就是我遇到麻烦的地方。

要成为概要文件的函数是(文件“calc_pi.py”):

def recip_square(i):
    return 1./i**2

def approx_pi(n=10000000):
    val = 0.
    for k in range(1,n+1):
        val += recip_square(k)
    return (6 * val)**.5

分析功能的脚本(在文档中公布)是:

import pstats, cProfile

import calc_pi

cProfile.runctx("calc_pi.approx_pi()", globals(), locals(), "Profile.prof")

s = pstats.Stats("Profile.prof")
s.strip_dirs().sort_stats("time").print_stats()

我不确定要运行哪个命令,如果这是引发错误的原因。但是,在他们的页面中,没有提到thisi。所以我只是运行“python3 profile.py”,这会产生以下错误:

  

AttributeError:module'cProfile'没有属性'runctx'

我知道可能我的错误是愚蠢和最小的,但在谷歌和检查stackoverflow一段时间后,我找不到答案。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我在这里遇到了同样的问题。

问题是文件profile.py的名称。

只需使用其他名称(如here中所述)