A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2012-June/120146.html below:

[Python-Dev] #12982: Should -O be required to *read* .pyo files?

[Python-Dev] #12982: Should -O be required to *read* .pyo files?Ethan Furman ethan at stoneleaf.us
Tue Jun 12 20:41:52 CEST 2012
Terry Reedy wrote:
> 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).
> 
> "It is possible to have a file called spam.pyc (or spam.pyo when -O is 
> used) without a file spam.py for the same module. This can be used to 
> distribute a library of Python code in a form that is moderately hard to 
> reverse engineer."
> 
> There is no warning that .pyo files are viral, in a sense. The user has 
> to use -O, which is a) a nuisance to remember if he has multiple scripts 
> and some need it and some not, and b) makes his own .py files used with 
> .pyo imports cached as .pyo, without docstrings, like it or not.
> 
> Currently, the easiest workaround is to rename .pyo to .pyc and all 
> seems to work fine, even with a mixture of true .pyc and renamed .pyo 
> files. (The same is true with the -O flag and no renaming.) This 
> suggests that there is no current reason for the restriction in that the 
> *execution* of bytecode is not affected by the -O flag. (Another 
> workaround might be a custom importer -- but this is not trivial, 
> apparently.)
> 
> So is the import restriction either an accident or obsolete holdover? 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?
> 
> 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?

I have no history so cannot say what was supposed to happen, but my 
$0.02 would be that if -O is *not* specified then we should try to read 
.pyc, then .pyo, and finally .py.  In other words, I vote for -O being a 
write flag, not a read flag.

~Ethan~
More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4