[Python-Dev] switching on -3 from within a program? (original) (raw)

Christian Heimes lists at cheimes.de
Tue Sep 16 18:07:33 CEST 2008


Anthon van der Neut wrote:

import sys sys.py3kwarning = True x = { 'abc': 1 }; x.haskey('abc')

which does not give a warning (starting python2.6 with the -3 option of course does). Is there anyway to switch this on from within a program with a Python statement?

That doesn't work because "sys.py3kwarning = True" doesn't change the global C variable Py_Py3kWarningFlag. IIRC there is no API to change the flag from Python code.

If not, would I need to make a small C-extension module (to be imported as the first module) that sets PyPy3WarningFlag or something else at the C level, or would that better be done by modwsgi's C code.

I suggest that you introduce a new config option that sets Py_Py3kWarningFlag to 1.

Christian



More information about the Python-Dev mailing list