line_profiler: what am I doing wrong?

Robert Kern robert.kern at gmail.com
Wed Feb 11 10:44:54 EST 2015


On 2015-02-11 00:06, Neal Becker wrote:
> I inserted
> @profile
> def run(...)
>
> into a module-level global function called 'run'.  Something is very wrong here.
> 1. profile results were written before anything even ran
> 2. profile is not defined?
>
>   kernprof -l ./test_unframed.py --lots --of --args ...
>
> Wrote profile results to test_unframed.py.lprof
> Traceback (most recent call last):
>    File "/home/nbecker/.local/bin/kernprof", line 9, in <module>
>      load_entry_point('line-profiler==1.0', 'console_scripts', 'kernprof')()
>    File "/home/nbecker/.local/lib/python2.7/site-packages/kernprof.py", line 221,
> in main
>      execfile(script_file, ns, ns)
>    File "./test_unframed.py", line 721, in <module>
>      @profile
> NameError: name 'profile' is not defined

Can you pare this down to a minimal complete example that fails in this way? 
Does a trivial module work? I.e.

"""
@profile
def run():
     pass

run()
"""

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
  that is made terrible by our own mad attempt to interpret it as though it had
  an underlying truth."
   -- Umberto Eco




More information about the Python-list mailing list