__future__ and unrecognised flags
Terry Reedy
tjreedy at udel.edu
Fri Dec 12 19:16:47 EST 2008
Poor Yorick wrote:
> I have a future statement in a script I intend to work on 2.6 and 3. Shouldn't __future__ statements basically be noops for versions that already support the feature? doctest is complaining about compiler flags. This illustrates the problem:
>
> Python 3.0 (r30:67507, Dec 3 2008, 20:14:27) [MSC v.1500 32 bit (Intel)] on win
> 32
> Type "help", "copyright", "credits" or "license" for more information.
> >>> from __future__ import unicode_literals
> >>> src = 'a = "hello"'
> >>> c1 = compile(src,'<string>','exec',unicode_literals.compiler_flag)
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> ValueError: compile(): unrecognised flags
According to this "The optional arguments flags and dont_inherit control
which future statements (see PEP 236) affect the compilation of source.
If neither is present (or both are zero) the code is compiled with those
future statements that are in effect in the code that is calling
compile. " you do not need to duplicate the future option in the compile
call.
I tried doing the same without the flag and it works. That said, this
seems like a bug to me, so if no one explains otherwise, report it at
http://bugs.python.org
I tried with 5th param True and got same error.
On Winxp
tjr
More information about the Python-list
mailing list