[Python-Dev] __debug__ and py_compile

Guido van Rossum guido@python.org
Tue, 28 Mar 2000 23:08:12 -0500


> a particularly active member of the Distutils-SIG brought the
> global '__debug__' flag to my attention, since I (and thus my code)
> didn't know if calling 'py_compile.compile()' would result in a ".pyc"
> or a ".pyo" file.  It appears that, using __debug__, you can determine
> what you're going to get.  Cool!
> 
> However, it doesn't look like you can *choose* what you're going to
> get.  Is this correct?  Ie. does the presence/absence of -O when the
> interpreter starts up *completely* decide how code is compiled?

Correct.  You (currently) can't change the opt setting of the
compiler.  (It was part of the compiler restructuring to give more
freedom here; this has been pushed back to 1.7.)

> Also, can I rely on __debug__ being there in the future?  How about in
> the past?  I still occasionally ponder making Distutils compatible with
> Python 1.5.1.

__debug__ is as old as the assert statement, going back to at least
1.5.0.

--Guido van Rossum (home page: http://www.python.org/~guido/)