cProfile не имеет атрибута runctx

Я пытаюсь разобраться в 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: модуль cProfile не имеет атрибута runctx

Я знаю, что, вероятно, моя ошибка глупая и минимальная, но после того, как я немного погуглил и проверил stackoverflow, я не смог найти ответ.

Спасибо за помощь.


person Rafael Marques    schedule 31.03.2018    source источник
comment
Это проблема, т.е. импортируете ли вы другой модуль с именем cProfile?   -  person DavidW    schedule 01.04.2018


Ответы (1)


Я столкнулся с той же проблемой здесь.

Проблема заключалась в имени файла profile.py.

Просто используйте другое имя (как предлагается в здесь)

person cfcm    schedule 07.06.2018