question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Running debugger multiple times causes AttributeError: 'NoneType' object has no attribute 'f_globals'

See original GitHub issue

Running the %run magic more than once causes an AttributeError: ‘NoneType’ object has no attribute ‘f_globals’. I have not encountered this problem before, and it is present on multiple files. I created a new file to just print one line and the problem persists.

~/Workspace/puzzles/FiveThirtyEightRiddler $ ipython
Python 3.4.2 (default, Jun 20 2016, 14:25:19) 
Type "copyright", "credits" or "license" for more information.

IPython 5.1.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: %run -d test.py
Breakpoint 1 at /home/andrew/Workspace/puzzles/FiveThirtyEightRiddler/test.py:1
NOTE: Enter 'c' at the ipdb>  prompt to continue execution.
> /home/andrew/Workspace/puzzles/FiveThirtyEightRiddler/test.py(1)<module>()
1---> 1 print('test')

ipdb> c
test

In [2]: %run -d test.py
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-2-63fffe36c4af> in <module>()
----> 1 get_ipython().magic('run -d test.py')

/usr/lib/python3.4/site-packages/IPython/core/interactiveshell.py in magic(self, arg_s)
   2156         magic_name, _, magic_arg_s = arg_s.partition(' ')
   2157         magic_name = magic_name.lstrip(prefilter.ESC_MAGIC)
-> 2158         return self.run_line_magic(magic_name, magic_arg_s)
   2159 
   2160     #-------------------------------------------------------------------------

/usr/lib/python3.4/site-packages/IPython/core/interactiveshell.py in run_line_magic(self, magic_name, line)
   2077                 kwargs['local_ns'] = sys._getframe(stack_depth).f_locals
   2078             with self.builtin_trap:
-> 2079                 result = fn(*args,**kwargs)
   2080             return result
   2081 

<decorator-gen-57> in run(self, parameter_s, runner, file_finder)

/usr/lib/python3.4/site-packages/IPython/core/magic.py in <lambda>(f, *a, **k)
    186     # but it's overkill for just that one bit of state.
    187     def magic_deco(arg):
--> 188         call = lambda f, *a, **k: f(*a, **k)
    189 
    190         if callable(arg):

/usr/lib/python3.4/site-packages/IPython/core/magics/execution.py in run(self, parameter_s, runner, file_finder)
    713                         opts.get('b', ['1'])[0], filename)
    714                     self._run_with_debugger(
--> 715                         code, code_ns, filename, bp_line, bp_file)
    716                 else:
    717                     if 'm' in opts:

/usr/lib/python3.4/site-packages/IPython/core/magics/execution.py in _run_with_debugger(self, code, code_ns, filename, bp_line, bp_file)
    816             maxtries = 10
    817             bp_file = bp_file or filename
--> 818             checkline = deb.checkline(bp_file, bp_line)
    819             if not checkline:
    820                 for bp in range(bp_line + 1, bp_line + maxtries + 1):

/usr/lib64/python3.4/pdb.py in checkline(self, filename, lineno)
    743         # this method should be callable before starting debugging, so default
    744         # to "no globals" if there is no current frame
--> 745         globs = self.curframe.f_globals if hasattr(self, 'curframe') else None
    746         line = linecache.getline(filename, lineno, globs)
    747         if not line:

AttributeError: 'NoneType' object has no attribute 'f_globals'

In [3]: 

test.py:

print('test')
~/Workspace/puzzles/FiveThirtyEightRiddler $ python3 -c "import IPython; print(IPython.sys_info())"
{'commit_hash': '5c9c918',
 'commit_source': 'installation',
 'default_encoding': 'UTF-8',
 'ipython_path': '/usr/lib/python3.4/site-packages/IPython',
 'ipython_version': '5.1.0',
 'os_name': 'posix',
 'platform': 'Linux-4.0.7-300.fc22.x86_64-x86_64-with-fedora-22-Twenty_Two',
 'sys_executable': '/usr/bin/python3',
 'sys_platform': 'linux',
 'sys_version': '3.4.2 (default, Jun 20 2016, 14:25:19) \n'
                '[GCC 5.3.1 20160406 (Red Hat 5.3.1-6)]'}

Issue Analytics

  • State:closed
  • Created 7 years ago
  • Comments:7 (5 by maintainers)

github_iconTop GitHub Comments

2reactions
takluyvercommented, Oct 25, 2016

And here’s the Python issue: http://bugs.python.org/issue28528

1reaction
takluyvercommented, Jan 11, 2017

Any idea what versions they will land in / have landed in?

The ‘milestone’ on the issue is the place to see this. In this case it says 5.2, which has not been released yet.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Why does my python program throw an error when running it ...
I'm not sure if that's the root cause, but I see a definite error in your code: file_path = os.path.join(directory, ...
Read more >
AttributeError: 'NoneType' object has no attribute 'type' when ...
ok bit of a weird one, I managed to work it out by debugging the code itself in the dlg_import_vector.py file.
Read more >
unexpected error - 'NoneType' object has no attribute 'flush ...
Hi, Trying to use DVC on windows, got the error below when trying to track a data file with DVC. Any idea of...
Read more >
AttributeError: 'NoneType' object has no attribute 'attrib ...
I have been able to export my model many times before, but the attribute error is now preventing the model from being exported....
Read more >
AttributeError: 'NoneType' object has no attribute 'document'
Debugging some code, I have noticed this bokeh server bug. If the function returning the view depends on a parameter p and if...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found