[New-bugs-announce] [issue32524] Python 2.7 leaks a packages __init__.py module object on SyntaxError
Segev Finer
report at bugs.python.org
Tue Jan 9 16:12:50 EST 2018
New submission from Segev Finer <segev208 at gmail.com>:
With the file hello/__init__.py:
ham = 123
spam()spam()
I get the following:
Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:19:30) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import hello
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "hello\__init__.py", line 2
spam()spam()
^
SyntaxError: invalid syntax
>>> import hello
>>> print hello
<module 'hello' from 'hello'>
>>> print dir(hello)
['__doc__', '__file__', '__name__', '__package__', '__path__']
>>>
I'd expect to get the SyntaxError twice, which is indeed what happens on at least Python 3.6 (Possibly earlier Python 3 versions).
Originally found here https://github.com/pallets/flask/issues/2423 & https://github.com/pallets/flask/pull/2588
I'm going to submit a PR with a fix.
----------
components: Interpreter Core
messages: 309736
nosy: Segev Finer
priority: normal
severity: normal
status: open
title: Python 2.7 leaks a packages __init__.py module object on SyntaxError
type: behavior
versions: Python 2.7
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue32524>
_______________________________________
More information about the New-bugs-announce
mailing list