On Wed, 13 Jun 2012 13:19:43 -0400, Brett Cannon <br...@python.org> wrote: > On Tue, Jun 12, 2012 at 2:16 PM, Terry Reedy <tjre...@udel.edu> wrote: > > > http://bugs.python.org/**issue12982 <http://bugs.python.org/issue12982> > > > > Currently, cpython requires the -O flag to *read* .pyo files as well as > > the write them. This is a nuisance to people who receive them from others, > > without the source. The originator of the issue quotes the following from > > the doc (without giving the location). [...] > > So is the import restriction either an accident or obsolete holdover? > > Neither. .pyo files are actually different from .pyc files in terms of what > bytecode they may emit. Currently -O causes all asserts to be left out of > the bytecode and -OO leaves out all docstrings on top of what -O does. This > makes a difference if you are trying to introspect at the interpreter > prompt or are testing things in development and want those asserts to be > triggered if needed. > > > If so, can removing it be treated as a bugfix and put into current > > releases, or should it be treated as an enhancement only for a future > > release? > > > The behaviour shouldn't change. There has been talk of doing even more > aggressive optimizing under -O, which once again would cause an even larger > deviation between a .pyo file and a .pyc file (e.g. allowing Python code to > hook into the peephole optimizer or an entirely new AST optimizer). > > > Or is the restriction an intentional reservation of the possibility of > > making *execution* depend on the flag? Which would mean that the > > restriction should be kept and only the doc changed? > > The docs should get updated to be more clear.
OK, but you didn't answer the question :). If I understand correctly, everything you said applies to *writing* the bytecode, not reading it. So, is there any reason to not use the .pyo file (if that's all that is around) when -O is not specified? The only technical reason I can see why -O should be required for a .pyo file to be used (*if* it is the only thing around) is if it won't *run* without the -O switch. Is there any expectation that that will ever be the case? On the other hand, not wanting make any extra effort to support sourceless distributions could be a reason as well. But if that's the case we should be transparent about it. --David _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com