[Python-Dev] #12982: Should -O be required to read .pyo files? (original) (raw)
Ethan Furman ethan at stoneleaf.us
Wed Jun 13 21:36:55 CEST 2012
- Previous message: [Python-Dev] #12982: Should -O be required to *read* .pyo files?
- Next message: [Python-Dev] deprecating .pyo and -O
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
R. David Murray wrote:
On Wed, 13 Jun 2012 20:46:50 +0200, Antoine Pitrou <solipsis at pitrou.net> wrote:
On Wed, 13 Jun 2012 11:20:24 -0700 Toshio Kuratomi <a.badger at gmail.com> wrote:
On Wed, Jun 13, 2012 at 01:58:10PM -0400, R. David Murray wrote:
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? Yes. For instance, if I create a .pyo with -OO it wouldn't have docstrings. Another piece of code can legally import that and try to use the docstring for something. This would fail if only the .pyo was present. Not only docstrings, but also asserts. I think running a pyo without -O would be a bug. Again, a program that depends on asserts is buggy. As Ethan pointed out we are asking about the case where someone is deliberately setting the .pyo file up to be run as the "normal" case. I'm not sure we want to support that, I just want us to be clear about why we don't :)
Currently, the alternative to supporting this behavior is to either:
- require the end-user to specify -O (major nuisance)
or
- have the distributor rename the .pyo file to .pyc
I think 1 is a non-starter (non-finisher? ;) but I could live with 2 -- after all, if someone is going to the effort of removing the .py file and moving the .pyo file into its place, renaming the .pyo to .pyc is trivial.
So the question, then, is: is option 2 better than just supporting .pyo files without -O when they are all that is available?
Ethan
- Previous message: [Python-Dev] #12982: Should -O be required to *read* .pyo files?
- Next message: [Python-Dev] deprecating .pyo and -O
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]