[Python-ideas] Proporsal: Show an alert in traceback when the source file is newer than compiled code (issue8087)
Michael Foord
fuzzyman at gmail.com
Sat Oct 8 00:59:42 CEST 2011
On 7 October 2011 20:53, Diego Mascialino <dmascialino at gmail.com> wrote:
> 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.
>
That would mean every function call would need to check the age of the
source file and bytecode file on disk and compare!
Michael
>
>
> Thanks,
> Diego Mascialino
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> http://mail.python.org/mailman/listinfo/python-ideas
>
--
http://www.voidspace.org.uk/
May you do good and not evil
May you find forgiveness for yourself and forgive others
May you share freely, never taking more than you give.
-- the sqlite blessing http://www.sqlite.org/different.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20111007/cd1ef1d4/attachment.html>
More information about the Python-ideas
mailing list