Посмотрите на определение функции. Если вы забыли использовать «()» после объявления функции где-нибудь, вы получите много ошибок в том же формате:
... ??: class, interface, or enum expected ...
А также вы забыли закрытие скобки после завершения определения вашего класса или функции. Но обратите внимание, что эти недостающие скобки не являются единственной причиной такого типа ошибок.
Внутри IPython вы можете использовать магическую функцию % prun :
In [9]: %prun c.f(3)
C.f -- param
3 function calls in 0.066 CPU seconds
Ordered by: internal time
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.066 0.066 0.066 0.066 <string>:6(f)
1 0.000 0.000 0.066 0.066 <string>:1(<module>)
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}
Хотя IPython очень удобен, существует множество редких случаев, когда он нарушает рабочий код или маскирует ошибки. Так что'
Проблема не в исходном постере, но вы также можете получить ту же ошибку, если вызываете cProfile.run () не в пространстве имен __main__ (из функции или импорта). В этом случае вам нужно использовать следующее вместо метода run ():
cProfile.runctx("your code", globals(), locals())
Слава этому сообщению за то, что помогли мне разобраться в этом.