[Python-ideas] Proporsal: Show an alert in traceback when the source file is newer than compiled code (issue8087)

Diego Mascialino dmascialino at gmail.com
Fri Oct 7 21:53:53 CEST 2011


Hello,  I opened this issue a long time ago, and Éric Araujo said that
it should be discussed on this list.

This is my feature request message:


Example:

---------------- mod.py ----------------
def f():
    a,b,c = 1,2
    print b
----------------------------------------

If i do:

>>> import mod
>>> mod.f()

I get:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "mod.py", line 2, in f
    a,b,c = 1,2
ValueError: need more than 2 values to unpack


If i fix the source:

---------------- mod.py ----------------
def f():
    a,b,c = 1,2,3
    print b
----------------------------------------

And do:

>>> mod.f()

I get:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "mod.py", line 2, in f
    a,b,c = 1,2,3
ValueError: need more than 2 values to unpack


The problem is that the source shown is updated, but the executed code
is old, because it wasn't reloaded.

Feature request:

If the source code shown was modified after import time and it wasn't
reloaded, a warning message should be shown.

Example:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "mod.py", line 2, in f      WARNING: Modified after import!
    a,b,c = 1,2,3
ValueError: need more than 2 values to unpack

or something like that.


Thanks,
Diego Mascialino



More information about the Python-ideas mailing list