[New-bugs-announce] [issue35871] Pdb NameError in generator param and list comprehension
Jayanth Raman
report at bugs.python.org
Thu Jan 31 19:25:49 EST 2019
New submission from Jayanth Raman <raman.jayanth at gmail.com>:
I get a NameError for a variable in the generator param of a function or in a list comprehension. See example below. The variable is available to the program, but not to the interactive Pdb shell.
# Test file:
def main(nn=10):
xx = list(range(nn))
breakpoint()
for ii in range(nn):
num = sum(xx[jj] for jj in range(nn))
print(f'xx={xx}')
if __name__ == '__main__':
main()
$ python3
Python 3.7.2 (default, Jan 13 2019, 12:50:15)
[Clang 10.0.0 (clang-1000.11.45.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
$ python3 /tmp/test.py
> /tmp/test.py(5)main()
-> for ii in range(nn):
(Pdb) n
> /tmp/test.py(6)main()
-> num = sum(xx[jj] for jj in range(nn))
(Pdb) sum(xx[jj] for jj in range(nn))
*** NameError: name 'xx' is not defined
(Pdb) [xx[jj] for jj in range(nn)]
*** NameError: name 'xx' is not defined
(Pdb) c
xx=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
FWIW python3 is a homebrew installation. I had the same issue with 3.7.0 as well (also homebrew):
Python 3.7.0 (default, Sep 18 2018, 18:47:22)
[Clang 9.1.0 (clang-902.0.39.2)] on darwin
----------
components: Interpreter Core
messages: 334639
nosy: jayanth
priority: normal
severity: normal
status: open
title: Pdb NameError in generator param and list comprehension
versions: Python 3.7
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue35871>
_______________________________________
More information about the New-bugs-announce
mailing list